From 9969bea2a8c1eab64c12a51a2d24d65e5b6c0dd0 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 24 十月 2022 18:12:41 +0800 Subject: [PATCH] 日志导出乱码 日志查询导出 代码重构 --- ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java index f0e17e5..b272553 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java @@ -1,8 +1,18 @@ package com.ycl.service.message.factory; +import com.ycl.common.util.PropertyValueUtil; import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; +import com.ycl.exception.ApiException; +import com.ycl.service.message.ISmsAuditService; import com.ycl.service.message.Sender; +import com.ycl.service.user.UmsAdminService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSenderImpl; +import org.springframework.stereotype.Component; /** * <p> @@ -12,9 +22,74 @@ * @author mg * @since 2022-10-09 */ +@Component public class MailSender implements Sender { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private static InnerSender innerSender; + @Autowired + public void setIMessageService(InnerSender innerSender) { + MailSender.innerSender = innerSender; + } + + private static PropertyValueUtil propertyValueUtil; + @Autowired + public void setPropertyValueUtil(PropertyValueUtil propertyValueUtil) { + MailSender.propertyValueUtil = propertyValueUtil; + } + private static ISmsAuditService iSmsAuditService; + @Autowired + public void setISmsAuditService(ISmsAuditService iSmsAuditService) { + MailSender.iSmsAuditService = iSmsAuditService; + } + + private static UmsAdminService adminService; + @Autowired + public void setUmsAdminService(UmsAdminService adminService) { + MailSender.adminService = adminService; + } + @Override public Message sendMessage(MessageParam messageParam) { - return null; + //鍏ュ簱淇濆瓨 + Message message = innerSender.sendMessage(messageParam); + //鍙戣捣瀹℃牳 + iSmsAuditService.startAuditSms(message); + //id鎹㈡垚閭鍙� + String targetToMail = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); + message.setTargetTo(targetToMail); + //鍙戦�侀偖浠� + sendMail(message); + return message; + } + + public Message sendMail(Message message) { + //缁勮閭欢鍙戦�� + JavaMailSenderImpl sender = new JavaMailSenderImpl(); + sender.setHost(propertyValueUtil.getHost()); + sender.setUsername(propertyValueUtil.getUsername()); + sender.setPassword(propertyValueUtil.getAuthorizationCode()); + + String[] mails = message.getTargetTo().split(","); + SimpleMailMessage[] messageList = new SimpleMailMessage[mails.length]; + for (int i=0;i<messageList.length;i++) { + SimpleMailMessage messageTo = new SimpleMailMessage(); + messageTo.setFrom(propertyValueUtil.getUsername()); + messageTo.setTo(mails[i]); + messageTo.setSubject(message.getHead()); + messageTo.setText(message.getBody()); + messageList[i] = messageTo; + } + try { + sender.send(messageList); + logger.info("绠�鍗曢偖浠跺凡鍙戦��"); + + }catch (Exception e){ + e.printStackTrace(); + logger.error("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父锛�", e); + e.printStackTrace(); + throw new ApiException("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父"); + } + return message; } } -- Gitblit v1.8.0