shichongfu
2023-04-25 ce0b49552668d3331055e2b1a1447a743dc54939
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.product.admin.controller;
 
 
import javax.servlet.http.HttpServletRequest;
 
import com.product.admin.config.CmnConst;
import com.product.core.permission.PermissionService;
import com.product.module.sys.config.SystemErrorCode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
 
import com.product.admin.config.SystemCode;
import com.product.admin.service.SystemEmailSmtpSerivce;
import com.product.core.config.CoreConst;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.entity.RequestParameterEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.module.sys.version.ApiVersion;
 
 
/**
 * Copyright © 2020 LX-BASE
 * 
 * @Title: SystemEmailSmtpController
 * @Project: lx-server-admin
 * @Date: 2020年9月93日
 * @Author: Mr.Zhengmeng
 * @Description:系统邮箱Controller
 */
@RestController
@RequestMapping("/api/systememail")
public class SystemEmailSmtpController extends AbstractBaseController {
    @Autowired
    private SystemEmailSmtpSerivce systemEmailSmtpSerivce;
    /**
     * 数据权限验证
     */
    @Autowired
    PermissionService permissionService;
    /**
     * @Date: 2020-09-09 10:56
     * @Author: zhengmeng
     * @Description: 获取系统邮箱详情
     */
    @RequestMapping(value = "/find-email/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String findEmailSmtp(HttpServletRequest request) {
        try {
            FieldSetEntity fse = null;
            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
            if (bean != null) {
                RequestParameterEntity reqp = (RequestParameterEntity) bean;
                fse = reqp.getFormData();
            }
            if (bean == null || fse == null) {
                return this.error(SystemCode.SYSTEM_EMAILSMTP_ERROR.getValue(),
                        SystemCode.SYSTEM_EMAILSMTP_ERROR.getText());
            }
            String uuid = SpringMVCContextHolder.getCurrentUser().getUuid();
            // 判断是否获取到当前登录用户ID
            if (uuid == null || "".equals(uuid)) {
                return this.error(SystemCode.SYSTEM_EMAILSMTP_ERROR.getValue(),
                        SystemCode.SYSTEM_EMAILSMTP_ERROR.getText());
            }
            //数据操作的权限验证
            if(!permissionService.validDataPermission(CmnConst.PRODUCT_SYS_EMAIL_SMTP,uuid,CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) {
                SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
                        SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
                return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
            }
            FieldSetEntity fs = systemEmailSmtpSerivce.findEmailSmtp(fse);
            return OK_List(fs);
        } catch (BaseException e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            return error(SystemCode.SYSTEM_EMAILSMTP_ERROR.getValue(),
                    SystemCode.SYSTEM_EMAILSMTP_ERROR.getText()+ e.getMessage());
        }
 
    }
 
    /**
     * @Date: 2020-09-09 10:56
     * @Author: zhengmeng
     * @Description: 修改系统邮箱
     */
    @RequestMapping(value = "/update-email/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String updateEmailSmtp(HttpServletRequest request) {
        try {
            FieldSetEntity fse = null;
            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
            if (bean != null) {
                RequestParameterEntity reqp = (RequestParameterEntity) bean;
                fse = reqp.getFormData();
            }
            if (bean == null || fse == null) {
                return this.error(SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getValue(),
                        SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getText());
            }
            //数据操作的权限验证
            if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) {
                SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
                        SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
                return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
            }
            boolean success = systemEmailSmtpSerivce.setUpEmailSmtp(fse);
            return success ? OK()
                    : error(SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getValue(),
                            SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getText());
        } catch (BaseException e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            return error(SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getValue(),
                    SystemCode.SYSTEM_UPDATEEMAILSMTP_ERROR.getText()+ e.getMessage());
        }
    }
 
}