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.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.setSuccess("执行成功", "已保存"); } catch (Exception e) { msg.setError("执行出错", 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 { HttpSession session = request.getSession(); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); mailFolderIfc.updateFolder(folder); msg.setSuccess("执行成功", "已更新"); } catch (Exception e) { msg.setError("执行出错", 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); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); Integer cont = mailFolderIfc.deleteFolder(userCode, folderId); if (cont > 0) { msg.setSuccess("执行成功", "已删除"); } } catch (Exception e) { msg.setError("执行出错", 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 folderName, HttpServletRequest request, HttpServletResponse response) { AllBackMsg msg = new AllBackMsg(); try { HttpSession session = request.getSession(); String userCode = (String) session.getAttribute(SessionKey.USERCODE); DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源 SpObserver.setDBtoInstance("_" + dataSource.getDbId()); List t482107Entities = mailFolderIfc.getMailFolder(folderName); if (t482107Entities.size() > 0) { msg.setSuccess("操作成功", t482107Entities); } } catch (Exception e) { msg.setError("执行出错", e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); } finally { SpObserver.setDBtoInstance(); } return msg; } }