MailTemplateServiceImpl.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.fdkankan.agent.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.fdkankan.agent.common.ResultCode;
  4. import com.fdkankan.agent.config.AgentConfig;
  5. import com.fdkankan.agent.entity.MailTemplate;
  6. import com.fdkankan.agent.exception.BusinessException;
  7. import com.fdkankan.agent.mapper.IMailTemplateMapper;
  8. import com.fdkankan.agent.service.IMailTemplateService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import com.fdkankan.agent.util.SendMailUtils;
  11. import com.fdkankan.sms.SmsService;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.beans.factory.annotation.Value;
  16. import org.springframework.stereotype.Service;
  17. /**
  18. * <p>
  19. * 服务实现类
  20. * </p>
  21. *
  22. * @author
  23. * @since 2025-03-20
  24. */
  25. @Service
  26. @Slf4j
  27. public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, MailTemplate> implements IMailTemplateService {
  28. @Autowired
  29. AgentConfig agentConfig;
  30. @Autowired
  31. SmsService smsService;
  32. @Override
  33. public Boolean sendMail(String email , MailTemplate mailTemplate, String file) {
  34. if(mailTemplate == null){
  35. throw new BusinessException(ResultCode.ERROR);
  36. }
  37. return SendMailUtils.sendMail(mailTemplate.getSendMail(), mailTemplate.getSendPassword(), mailTemplate.getSendHost(),
  38. email, mailTemplate.getSubject(), mailTemplate.getMsg(), file);
  39. }
  40. @Override
  41. public void sendAuthExpMail(String userName) {
  42. MailTemplate mailTemplate = this.getTemplate(11);
  43. if(mailTemplate != null){
  44. String msg = mailTemplate.getMsg();
  45. if(StringUtils.isNotBlank(msg)){
  46. msg = msg.replace("{day}",agentConfig.getAuthExpDay().toString());
  47. }
  48. mailTemplate.setMsg(msg);
  49. }
  50. try {
  51. if("eur".equals(agentConfig.getEnvironment())){
  52. sendMail(userName,mailTemplate,null);
  53. }else {
  54. smsService.sendSms(userName, agentConfig.getAuthExpDay().toString(), agentConfig.getSmsTemplateCode());
  55. }
  56. }catch (Exception e){
  57. log.info("发送邮件或短信失败:{}",userName);
  58. }
  59. }
  60. public MailTemplate getTemplate(Integer type) {
  61. LambdaQueryWrapper<MailTemplate> wrapper = new LambdaQueryWrapper<>();
  62. wrapper.eq(MailTemplate::getType,type);
  63. return this.getOne(wrapper);
  64. }
  65. }