EmailConfigController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.simuwang.manage.api.email;
  2. import com.simuwang.base.common.support.MybatisPage;
  3. import com.simuwang.base.config.DaqProperties;
  4. import com.simuwang.base.pojo.dto.query.EmailPageQuery;
  5. import com.simuwang.base.pojo.vo.*;
  6. import com.simuwang.manage.service.EmailConfigService;
  7. import com.smppw.common.pojo.ResultVo;
  8. import com.smppw.common.pojo.enums.status.ResultCode;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. /**
  14. * 接收邮箱配置管理
  15. * Author: chenjianhua
  16. * Date: 2024/9/9 11:40
  17. * Description: ${DESCRIPTION}
  18. */
  19. @RestController
  20. @RequestMapping("/v1/email")
  21. public class EmailConfigController{
  22. @Autowired
  23. private EmailConfigService emailConfigService;
  24. private static final Logger logger = LoggerFactory.getLogger(EmailConfigController.class);
  25. /**
  26. * 页面展示查询
  27. * @param emailPageQuery 邮箱
  28. * @return
  29. */
  30. @RequestMapping("search-email-list")
  31. public MybatisPage<MailboxInfoTableVO> searchEmailConfigList(EmailPageQuery emailPageQuery){
  32. MybatisPage<MailboxInfoTableVO> result = emailConfigService.searchEmailConfigList(emailPageQuery);
  33. return result;
  34. }
  35. /**
  36. * 保存邮箱配置
  37. * @param mailboxInfoVO
  38. * @return
  39. */
  40. @PostMapping("save-email-config")
  41. public ResultVo saveEmailConfig(@RequestBody MailboxInfoVO mailboxInfoVO){
  42. ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
  43. try{
  44. if(mailboxInfoVO.getId() == null && !emailConfigService.checkEmailUnique(mailboxInfoVO.getEmail())){
  45. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  46. vo.setMsg("邮箱地址已存在,无需添加");
  47. return vo;
  48. }
  49. emailConfigService.saveEmailConfig(mailboxInfoVO);
  50. vo.setData(true);
  51. }catch (Exception e){
  52. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  53. logger.error(e.getMessage(),e);
  54. }
  55. return vo;
  56. }
  57. /**
  58. * 开启关闭邮箱启动状态
  59. * @param openStatusVO
  60. * @return
  61. */
  62. @PostMapping("control-email-status")
  63. public ResultVo controlEmailConfig(@RequestBody OpenStatusVO openStatusVO){
  64. ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
  65. try{
  66. emailConfigService.controlEmailConfig(openStatusVO);
  67. vo.setData(true);
  68. }catch (Exception e){
  69. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  70. logger.error(e.getMessage(),e);
  71. }
  72. return vo;
  73. }
  74. /**
  75. * 根据ID查询邮箱配置
  76. * @param idVO
  77. * @return
  78. */
  79. @GetMapping("search-email-config")
  80. public ResultVo searchEmailConfig(IdVO idVO){
  81. ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
  82. try{
  83. MailboxInfoVO mailboxInfoVO = emailConfigService.searchEmailConfigById(idVO.getId());
  84. vo.setData(mailboxInfoVO);
  85. }catch (Exception e){
  86. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  87. logger.error(e.getMessage(),e);
  88. }
  89. return vo;
  90. }
  91. /**
  92. * 批量删除邮箱配置
  93. * @param idVO
  94. * @return
  95. */
  96. @RequestMapping("delete-email-config")
  97. public boolean deleteEmailConfig(@RequestBody IdVO idVO){
  98. emailConfigService.deleteEmailConfig(idVO.getId());
  99. return true;
  100. }
  101. /**
  102. * 手动触发指定时间区间的邮件解析
  103. * @param parseParamVO
  104. * @return
  105. */
  106. @RequestMapping("parse-email")
  107. public boolean parseEmail(@RequestBody ParseParamVO parseParamVO){
  108. emailConfigService.parseEmail(parseParamVO);
  109. return true;
  110. }
  111. /**
  112. * 立即执行一次
  113. * @param idVO
  114. * @return
  115. */
  116. @RequestMapping("run-once")
  117. public boolean runOnce(@RequestBody IdVO idVO){
  118. emailConfigService.runOnce(idVO.getId());
  119. return true;
  120. }
  121. /**
  122. * 邮箱连接测试
  123. * @param mailboxInfoVO
  124. * @return
  125. */
  126. @RequestMapping("connect-test")
  127. public ResultVo connectTest(@RequestBody MailboxInfoVO mailboxInfoVO){
  128. ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode());
  129. try{
  130. vo = emailConfigService.connectTest(mailboxInfoVO);
  131. }catch (Exception e){
  132. vo.setMsg(e.getMessage());
  133. }
  134. return vo;
  135. }
  136. }