EmailController.java 5.83 KB
package com.cnlive.shenhe.controller;

import com.alibaba.fastjson.JSONObject;
import com.cnlive.shenhe.bean.ErrorEnum;
import com.cnlive.shenhe.bean.ResponseBean;
import com.cnlive.shenhe.bean.SessionUser;
import com.cnlive.shenhe.entity.ShyEmail;
import com.cnlive.shenhe.entity.ShySites;
import com.cnlive.shenhe.entity.ShyUsers;
import com.cnlive.shenhe.entity.ShyUsersfree;
import com.cnlive.shenhe.serviceImpl.EmailServiceImpl;
import com.cnlive.shenhe.serviceImpl.SitesServiceImpl;
import com.cnlive.shenhe.serviceImpl.UsersServiceImpl;
import com.cnlive.shenhe.utils.CommonConst;
import com.cnlive.shenhe.utils.CommonUtils;
import com.github.pagehelper.PageInfo;

import org.jasig.cas.client.authentication.AttributePrincipal;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.print.attribute.HashAttributeSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * @Auther: liwei
 * @Date: 2019/08/20 14:22
 * @Description:
 */
@Controller
@RequestMapping("/email")
public class EmailController extends BaseController {

    @Autowired
    EmailServiceImpl emailServiceImpl;
    @Autowired
    SitesServiceImpl sitesService;
    
    @Autowired
    UsersServiceImpl usersService;

  
    @GetMapping(value = "/page")
    public String page(Model model, Integer page, Integer pageSize, String orderByClause,
    		String remark,String email,  HttpSession session) {
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        if(CommonUtils.isNull(sessionUser)){
        	return "redirect:/users/login";
        }
        if (CommonUtils.isNull(page)) page = 1;
        if (CommonUtils.isNull(pageSize)) pageSize = 10;
        PageInfo<ShyEmail> emailPage = emailServiceImpl.getPage(page, pageSize, orderByClause, remark,email);
        List<ShyEmail> list = emailPage.getList();
        JSONObject email_message = CommonConst.EMAIL_MESSAGE;
        if (!list.isEmpty()) {
            for (ShyEmail shyEmail : list) {
            	//获取更新人的名称
            	String updater="";
                 if (CommonUtils.isNotEmpty(shyEmail.getUpdater())) {
                     ShyUsers user = new ShyUsers();
                     user.setUser_id(shyEmail.getUpdater());
                     user = usersService.select(user);
                     if (CommonUtils.isNotNull(user)) {
                     	String email_add = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail()) ? "" : user.getEmail();
                         String userName = CommonUtils.isEmpty(user.getUsername()) ? email_add : user.getUsername();
                         updater = userName;
                     }
                 }
                 shyEmail.setUpdater(updater);
                 
               //获取邮件消息类型名称
     			String email_type_name=shyEmail.getNotice_type();
     			if(CommonUtils.isNotEmpty(email_type_name)){
     				for (String bkey : email_message.keySet()) {
     					email_type_name = email_type_name.replace(bkey, email_message.getString(bkey));
                     }
     			}else{
     				email_type_name="无";
     			}
     			shyEmail.setEmail_type_name(email_type_name);
            }
        }
        model.addAttribute("emailPage", emailPage);
        model.addAttribute("pageSize", pageSize);
        model.addAttribute("email_message", email_message);
        return "page/email.html";
    }
    
    @PostMapping("/updateState")
    @ResponseBody
    public ResponseBean updateState(Integer id, Boolean isEnable, HttpSession session) {
    	SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        Integer n = emailServiceImpl.updateState(id, isEnable,sessionUser.getUserId());
        if(n>0){
        	 return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "当前用户"+(isEnable==true?"启用":"禁用")+"成功");
        }
        return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "操作失败,请重试");
    }
    @PostMapping("/deleted")
    @ResponseBody
    public ResponseBean deleted(Integer id,HttpSession session) {
    	SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
    	Integer n = emailServiceImpl.deleted(id, sessionUser.getUserId());
    	if(n>0){
    		return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "数据删除成功");
    	}
    	return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "操作失败,请重试");
    }
    
    

    @PostMapping(value = "/write")
    public String write(Model model,Integer id,String email,String remark, String[] write_business, HttpSession session, String redirect_url) {
    	if(CommonUtils.isEmpty(email)&&CommonUtils.isEmpty(remark)){
    		setmodel_param(model,"email,remark不能为空");
    		return "error.html";
    	}
    	SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        String write = "";
        if (CommonUtils.isNotNull(write_business) && write_business.length > 0) {
            for (String w : write_business) {
                write = write + "," + w;
            }
            write = write.substring(1);
        }
        boolean success = emailServiceImpl.update(id,email,remark,write,sessionUser.getUserId());
        if (success) {
            return "redirect:" + redirect_url;
        } else {
        	setmodel_result(model);
    		return "error.html";
        }
    }
    
}