xinyb
2024-09-14 f6ae0b6568c8000e9bfb9ce1d13400525a223d20
提交 | 用户 | age
385e2d 1 package com.yc.crm.mail.action;
X 2
3 import com.yc.crm.mail.entity.T482108Entity;
4 import com.yc.crm.mail.service.MailQuickTextIfc;
5 import com.yc.crm.mail.util.AllBackMsg;
6 import com.yc.entity.DataSourceEntity;
7 import com.yc.multiData.MultiDataSource;
8 import com.yc.multiData.SpObserver;
9 import com.yc.utils.SessionKey;
f5cc47 10 import org.apache.commons.lang3.StringUtils;
385e2d 11 import org.springframework.beans.factory.annotation.Autowired;
X 12 import org.springframework.web.bind.annotation.*;
13
14 import javax.servlet.http.HttpServletRequest;
15 import javax.servlet.http.HttpServletResponse;
16 import javax.servlet.http.HttpSession;
17 import java.util.List;
18
19 /**
20  * @BelongsProject: eCoWorksV3
21  * @BelongsPackage: com.yc.crm.mail.action
22  * @author: xinyb
23  * @CreateTime: 2024-08-08  08:50
24  * @Description: 快速文本
25  */
26 @CrossOrigin
27 @RestController
f5cc47 28 @RequestMapping("/crm/mail/quickText")
385e2d 29 public class MailQuickText {
X 30
31     @Autowired
32     MailQuickTextIfc mailQuickTextIfc;
33
34     /**
f5cc47 35      * 添加快速文本
385e2d 36      *
X 37      * @param account
38      * @param request
39      * @param response
40      * @return
41      */
42     @PostMapping("/addQuickText.do")
3c2c1b 43     public AllBackMsg addQuickText(@RequestBody T482108Entity quickText, HttpServletRequest request, HttpServletResponse response) {
385e2d 44         AllBackMsg msg = new AllBackMsg();
X 45         try {
46
f5cc47 47             if (StringUtils.isBlank(quickText.getTextName())) {
X 48                 msg.setFail("快速文本内容不能为空");
49                 return msg;
50             }
385e2d 51             HttpSession session = request.getSession();
X 52             String companyId = (String) session.getAttribute(SessionKey.COMPANY_ID);
53             String companyName = (String) session.getAttribute(SessionKey.COMPANY_NAME);
54             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
55             String userName = (String) session.getAttribute(SessionKey.USER_NAME);
3c2c1b 56             quickText.setCompanyId(companyId);
X 57             quickText.setCompanyName(companyName);
58             quickText.setUserCode(userCode);
59             quickText.setUserName(userName);
385e2d 60             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
X 61             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
3c2c1b 62             mailQuickTextIfc.saveQuickText(quickText);
f5cc47 63             msg.setOk("已保存");
385e2d 64         } catch (Exception e) {
f5cc47 65             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
385e2d 66         } finally {
X 67             SpObserver.setDBtoInstance();
68         }
69         return msg;
70     }
71
72     /**
f5cc47 73      * 更新快速文本
385e2d 74      *
X 75      * @param account
76      * @param request
77      * @param response
78      * @return
79      */
80     @PostMapping("/updateQuickText.do")
3c2c1b 81     public AllBackMsg updateQuickText(@RequestBody T482108Entity quickText, HttpServletRequest request, HttpServletResponse response) {
385e2d 82         AllBackMsg msg = new AllBackMsg();
X 83         try {
f5cc47 84             if (quickText.getTextId() == 0) {
X 85                 msg.setFail("缺少快速文本ID值,请检查");
86                 return msg;
87             }
385e2d 88             HttpSession session = request.getSession();
f5cc47 89             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
X 90             if (StringUtils.isBlank(userCode)) {
91                 msg.setFail("登录用户已过期,请检查");
92                 return msg;
93             }
94             quickText.setUserCode(userCode);
385e2d 95             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
X 96             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
3c2c1b 97             mailQuickTextIfc.updateQuickText(quickText);
f5cc47 98             msg.setOk("已更新");
385e2d 99         } catch (Exception e) {
f5cc47 100             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
385e2d 101         } finally {
X 102             SpObserver.setDBtoInstance();
103         }
104         return msg;
105     }
106
107     /**
f5cc47 108      * 删除快速文本
385e2d 109      *
X 110      * @param account
111      * @param request
112      * @param response
113      * @return
114      */
115     @PostMapping("/deleteQuickText.do")
3c2c1b 116     public AllBackMsg deleteQuickText(@RequestParam(defaultValue = "0") Integer textId, HttpServletRequest request, HttpServletResponse response) {
385e2d 117         AllBackMsg msg = new AllBackMsg();
X 118         try {
3c2c1b 119             if (textId == 0) {
X 120                 msg.setFail("快速文本编号ID获取不到");
385e2d 121                 return msg;
X 122             }
123             HttpSession session = request.getSession();
124             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
125             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
126             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
3c2c1b 127             Integer cont = mailQuickTextIfc.deleteQuickText(userCode, textId);
385e2d 128             if (cont > 0) {
f5cc47 129                 msg.setOk("已删除");
385e2d 130             }
X 131         } catch (Exception e) {
f5cc47 132             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
385e2d 133         } finally {
X 134             SpObserver.setDBtoInstance();
135         }
136         return msg;
137     }
138
139     /**
f5cc47 140      * 查询快速文本
385e2d 141      *
X 142      * @param search   搜索
143      * @param request
144      * @param response
145      * @return
146      */
147     @GetMapping("/getQuickText.do")
f5cc47 148     public AllBackMsg getQuickText(String search, HttpServletRequest request, HttpServletResponse response) {
385e2d 149         AllBackMsg msg = new AllBackMsg();
X 150         try {
151             HttpSession session = request.getSession();
152             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
f5cc47 153             if (StringUtils.isBlank(userCode)) {
X 154                 msg.setFail("登录用户已过期,请检查");
155                 return msg;
156             }
385e2d 157             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
X 158             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
f5cc47 159             List<T482108Entity> t482102Entities = mailQuickTextIfc.getMailQuickText(userCode, search);
385e2d 160             if (t482102Entities.size() > 0) {
f5cc47 161                 msg.setSuccess("执行成功", t482102Entities);
385e2d 162             }
X 163         } catch (Exception e) {
f5cc47 164             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
385e2d 165         } finally {
X 166             SpObserver.setDBtoInstance();
167         }
168         return msg;
169     }
170 }
171