package com.yc.crm.mail.action; import com.yc.crm.mail.entity.T482109Entity; import com.yc.crm.mail.service.MailSignatureIfc; 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-15 14:57 * @Description:个人签名 */ @CrossOrigin @RestController @RequestMapping("/crm/mail/signature") public class MailSignature { @Autowired MailSignatureIfc mailSignatureIfc; /** * 添加个人签名 * * @param signature * @param request * @param response * @return */ @PostMapping("/addSignature.do") public AllBackMsg addSignature(@RequestBody T482109Entity signature, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { 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); signature.setCompanyId(companyId); signature.setCompanyName(companyName); signature.setUserCode(userCode); signature.setUserName(userName); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); //保存 mailSignatureIfc.saveSignature(signature); msg.setOk("已保存"); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 修改个人签名 * * @param signature * @param request * @param response * @return */ @PostMapping("/updateSignature.do") public AllBackMsg updateSignature(@RequestBody T482109Entity signature, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (signature.getSignId() == null) { msg.setFail("缺少SignId值,请检查"); return msg; } HttpSession session = request.getSession(); String userCode = (String) session.getAttribute(SessionKey.USERCODE); if (StringUtils.isBlank(userCode)) { msg.setFail("登录用户已过期,请检查"); return msg; } signature.setUserCode(userCode); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailSignatureIfc.updateSignature(signature); msg.setOk("已更新"); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 删除个人签名 * * @param signId * @param request * @param response * @return */ @PostMapping("/deleteSignature.do") public AllBackMsg deleteSignature(@RequestParam(defaultValue = "0") Integer signId, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (signId == 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; } DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); Integer cont = mailSignatureIfc.deleteSignature(userCode, signId); 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("/getSignature.do") public AllBackMsg getSignature(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 list = mailSignatureIfc.getSignature(userCode, search); msg.setSuccess("执行成功", list); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } }