package com.simuwang.manage.api.email; import com.simuwang.base.common.page.TableDataInfo; import com.simuwang.base.pojo.vo.IdVO; import com.simuwang.base.pojo.vo.MailboxInfoTableVO; import com.simuwang.base.pojo.vo.MailboxInfoVO; import com.simuwang.manage.api.base.BaseController; import com.simuwang.manage.service.EmailConfigService; import com.smppw.common.pojo.ResultVo; import com.smppw.common.pojo.enums.status.ResultCode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * 接收邮箱配置管理 * Author: chenjianhua * Date: 2024/9/9 11:40 * Description: ${DESCRIPTION} */ @RestController @RequestMapping("/v1/email") public class EmailConfigController extends BaseController { @Autowired private EmailConfigService emailConfigService; private static final Logger logger = LoggerFactory.getLogger(EmailConfigController.class); /** * 页面展示查询 * @param email * @return */ @RequestMapping("search-email-list") public TableDataInfo searchEmailConfigList(@RequestParam(value = "email",required = false)String email){ List result = emailConfigService.searchEmailConfigList(email); return getDataTable(result); } /** * 保存邮箱配置 * @param mailboxInfoVO * @return */ @RequestMapping("save-email-config") public ResultVo saveEmailConfig(@RequestBody MailboxInfoVO mailboxInfoVO){ ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode()); try{ if(mailboxInfoVO.getId() == null && !emailConfigService.checkEmailUnique(mailboxInfoVO.getEmail())){ vo.setCode(ResultCode.SAVE_FAILED.getCode()); vo.setMsg("邮箱地址已存在,无需添加"); return vo; } emailConfigService.saveEmailConfig(mailboxInfoVO); }catch (Exception e){ vo.setCode(ResultCode.SAVE_FAILED.getCode()); logger.error(e.getMessage(),e); } return vo; } /** * 批量删除邮箱配置 * @param idVO * @return */ @RequestMapping("delete-email-config") public ResultVo deleteEmailConfig(@RequestBody IdVO idVO){ ResultVo vo = new ResultVo(ResultCode.DELETE_SUCCESS.getCode()); try{ emailConfigService.deleteEmailConfig(idVO.getIdList()); }catch (Exception e){ logger.error(e.getMessage(),e); vo.setCode(ResultCode.DELETE_FAILED.getCode()); } return vo; } /** * 邮箱连接测试 * @param mailboxInfoVO * @return */ @RequestMapping("connect-test") public ResultVo connectTest(@RequestBody MailboxInfoVO mailboxInfoVO){ ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode()); String msg = ""; try{ msg = emailConfigService.connectTest(mailboxInfoVO); vo.setMsg(msg); }catch (Exception e){ vo.setMsg(e.getMessage()); } return vo; } }