EmailConfigController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.simuwang.manage.api.email;
  2. import com.simuwang.base.common.page.TableDataInfo;
  3. import com.simuwang.base.pojo.vo.IdVO;
  4. import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
  5. import com.simuwang.base.pojo.vo.MailboxInfoVO;
  6. import com.simuwang.manage.api.base.BaseController;
  7. import com.simuwang.manage.service.EmailConfigService;
  8. import com.smppw.common.pojo.ResultVo;
  9. import com.smppw.common.pojo.enums.status.ResultCode;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import java.util.List;
  18. /**
  19. * 接收邮箱配置管理
  20. * Author: chenjianhua
  21. * Date: 2024/9/9 11:40
  22. * Description: ${DESCRIPTION}
  23. */
  24. @RestController
  25. @RequestMapping("/v1/email")
  26. public class EmailConfigController extends BaseController {
  27. @Autowired
  28. private EmailConfigService emailConfigService;
  29. private static final Logger logger = LoggerFactory.getLogger(EmailConfigController.class);
  30. /**
  31. * 页面展示查询
  32. * @param email 邮箱
  33. * @return
  34. */
  35. @RequestMapping("search-email-list")
  36. public TableDataInfo searchEmailConfigList(@RequestParam(value = "email",required = false)String email){
  37. startPage();
  38. List<MailboxInfoTableVO> result = emailConfigService.searchEmailConfigList(email);
  39. return getDataTable(result);
  40. }
  41. /**
  42. * 保存邮箱配置
  43. * @param mailboxInfoVO
  44. * @return
  45. */
  46. @RequestMapping("save-email-config")
  47. public ResultVo saveEmailConfig(@RequestBody MailboxInfoVO mailboxInfoVO){
  48. ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
  49. try{
  50. if(mailboxInfoVO.getId() == null && !emailConfigService.checkEmailUnique(mailboxInfoVO.getEmail())){
  51. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  52. vo.setMsg("邮箱地址已存在,无需添加");
  53. return vo;
  54. }
  55. emailConfigService.saveEmailConfig(mailboxInfoVO);
  56. }catch (Exception e){
  57. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  58. logger.error(e.getMessage(),e);
  59. }
  60. return vo;
  61. }
  62. /**
  63. * 批量删除邮箱配置
  64. * @param idVO
  65. * @return
  66. */
  67. @RequestMapping("delete-email-config")
  68. public ResultVo deleteEmailConfig(@RequestBody IdVO idVO){
  69. ResultVo vo = new ResultVo(ResultCode.DELETE_SUCCESS.getCode());
  70. try{
  71. emailConfigService.deleteEmailConfig(idVO.getIdList());
  72. }catch (Exception e){
  73. logger.error(e.getMessage(),e);
  74. vo.setCode(ResultCode.DELETE_FAILED.getCode());
  75. }
  76. return vo;
  77. }
  78. /**
  79. * 邮箱连接测试
  80. * @param mailboxInfoVO
  81. * @return
  82. */
  83. @RequestMapping("connect-test")
  84. public ResultVo connectTest(@RequestBody MailboxInfoVO mailboxInfoVO){
  85. ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode());
  86. String msg = "";
  87. try{
  88. msg = emailConfigService.connectTest(mailboxInfoVO);
  89. vo.setMsg(msg);
  90. }catch (Exception e){
  91. vo.setMsg(e.getMessage());
  92. }
  93. return vo;
  94. }
  95. }