EmailConfigController.java 4.2 KB

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