package com.yc.crm.mail.action; import com.yc.crm.mail.entity.T482108Entity; import com.yc.crm.mail.service.MailQuickTextIfc; import com.yc.crm.mail.util.AllBackMsg; import com.yc.entity.DataSourceEntity; import com.yc.multiData.MultiDataSource; import com.yc.multiData.SpObserver; import com.yc.utils.SessionKey; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.List; /** * @BelongsProject: eCoWorksV3 * @BelongsPackage: com.yc.crm.mail.action * @author: xinyb * @CreateTime: 2024-08-08 08:50 * @Description: 快速文本 */ @CrossOrigin @RestController @RequestMapping("/crm/mail/quickText") public class MailQuickText { @Autowired MailQuickTextIfc mailQuickTextIfc; /** * 添加快速文本 * * @param account * @param request * @param response * @return */ @PostMapping("/addQuickText.do") public AllBackMsg addQuickText(@RequestBody T482108Entity quickText, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (StringUtils.isBlank(quickText.getTextName())) { msg.setFail("快速文本内容不能为空"); return msg; } HttpSession session = request.getSession(); String companyId = (String) session.getAttribute(SessionKey.COMPANY_ID); String companyName = (String) session.getAttribute(SessionKey.COMPANY_NAME); String userCode = (String) session.getAttribute(SessionKey.USERCODE); String userName = (String) session.getAttribute(SessionKey.USER_NAME); quickText.setCompanyId(companyId); quickText.setCompanyName(companyName); quickText.setUserCode(userCode); quickText.setUserName(userName); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailQuickTextIfc.saveQuickText(quickText); msg.setOk("已保存"); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 更新快速文本 * * @param account * @param request * @param response * @return */ @PostMapping("/updateQuickText.do") public AllBackMsg updateQuickText(@RequestBody T482108Entity quickText, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (quickText.getTextId() == 0) { msg.setFail("缺少快速文本ID值,请检查"); return msg; } HttpSession session = request.getSession(); String userCode = (String) session.getAttribute(SessionKey.USERCODE); if (StringUtils.isBlank(userCode)) { msg.setFail("登录用户已过期,请检查"); return msg; } quickText.setUserCode(userCode); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailQuickTextIfc.updateQuickText(quickText); msg.setOk("已更新"); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 删除快速文本 * * @param account * @param request * @param response * @return */ @PostMapping("/deleteQuickText.do") public AllBackMsg deleteQuickText(@RequestParam(defaultValue = "0") Integer textId, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (textId == 0) { msg.setFail("快速文本编号ID获取不到"); return msg; } HttpSession session = request.getSession(); String userCode = (String) session.getAttribute(SessionKey.USERCODE); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); Integer cont = mailQuickTextIfc.deleteQuickText(userCode, textId); if (cont > 0) { msg.setOk("已删除"); } } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 查询快速文本 * * @param search 搜索 * @param request * @param response * @return */ @GetMapping("/getQuickText.do") public AllBackMsg getQuickText(String search, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { HttpSession session = request.getSession(); String userCode = (String) session.getAttribute(SessionKey.USERCODE); if (StringUtils.isBlank(userCode)) { msg.setFail("登录用户已过期,请检查"); return msg; } DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); List t482102Entities = mailQuickTextIfc.getMailQuickText(userCode, search); if (t482102Entities.size() > 0) { msg.setSuccess("执行成功", t482102Entities); } } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } }