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