package com.yc.crm.mail.action; import com.yc.crm.mail.entity.T482107Entity; import com.yc.crm.mail.service.MailFolderIfc; 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-23 09:23 * @Description:邮件文件夹 */ @CrossOrigin @RestController @RequestMapping("/crm/mail/folder") public class MailFolder { @Autowired MailFolderIfc mailFolderIfc; /** * 添加邮件文件夹 * * @param folder * @param request * @param response * @return */ @PostMapping("/addFolder.do") public AllBackMsg addFolder(@RequestBody T482107Entity folder, 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); folder.setCompanyId(companyId); folder.setCompanyName(companyName); folder.setUserCode(userCode); folder.setUserName(userName); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailFolderIfc.saveFolder(folder); msg.setOk("已保存"); } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } /** * 修改邮件文件夹 * * @param folder * @param request * @param response * @return */ @PostMapping("/updateFolder.do") public AllBackMsg updateFolder(@RequestBody T482107Entity folder, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (folder.getFolderId() == 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; } folder.setUserCode(userCode); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailFolderIfc.updateFolder(folder); 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("/deleteFolder.do") public AllBackMsg deleteFolder(@RequestParam(defaultValue = "0") Integer folderId, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { if (folderId == 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 = mailFolderIfc.deleteFolder(userCode, folderId); 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("/getFolder.do") public AllBackMsg getFolder(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 t482107Entities = mailFolderIfc.getMailFolder(userCode, search); if (t482107Entities.size() > 0) { msg.setSuccess("执行成功", t482107Entities); } } catch (Exception e) { msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } }