From c22b5eb143260a98b9aab8fc3281ffa2a5ca2eed Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期五, 28 十月 2022 18:07:42 +0800
Subject: [PATCH] 修改

---
 ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java |   81 ++++++++++++++++++++++++++--------------
 1 files changed, 53 insertions(+), 28 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
index 83a8744..8375855 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
@@ -1,9 +1,11 @@
 package com.ycl.service.message.factory;
 
 import com.ycl.common.constant.ChannelCode;
+import com.ycl.common.util.CommonUtils;
 import com.ycl.common.util.UtilNumber;
 import com.ycl.dto.message.MessageParam;
 import com.ycl.entity.message.Message;
+import com.ycl.mapper.message.MessageMapper;
 import com.ycl.service.message.IMessageService;
 import com.ycl.service.message.Sender;
 import org.springframework.beans.BeanUtils;
@@ -32,41 +34,64 @@
     public void setIMessageService(IMessageService iMessageService) {
         InnerSender.iMessageService = iMessageService;
     }
+    private static MessageMapper messageMapper;
+    @Autowired
+    public void setMessageMapper(MessageMapper messageMapper) {
+        InnerSender.messageMapper = messageMapper;
+    }
 
     @Override
     public Message sendMessage(MessageParam messageParam) {
         Message message = new Message();
         List<Message> messages = new ArrayList<>();
-        String[] ids = messageParam.getTargetTo().split(",");
-        String messageNumber = UtilNumber.getNumber("MC", 6);
-        for (String id : ids) {
-            Message messageAdd = new Message();
-            BeanUtils.copyProperties(messageParam, messageAdd);
-            //璁剧疆鎺ユ敹鑰�
-            messageAdd.setTargetTo(id);
-            //鐢熸垚8浣嶉殢鏈烘暟娑堟伅缂栫爜
-            messageAdd.setMessageNumber(messageNumber);
-            //鍙戦�佹椂闂�
-            if (messageAdd.getSendTime() == null) {
-                messageAdd.setSendTime(new Date());
-            }
-            if (ChannelCode.MAIL.equals(messageParam.getChannelCode())) {
-                messageAdd.setIsScan(1);
-            } else {
-                messageAdd.setIsScan(0);
-            }
+        if (CommonUtils.isEmpty(messageParam.getId())) {
+            String messageNumber = UtilNumber.getNumber("MC", 6);
+            BeanUtils.copyProperties(messageParam, message);
+            //鐖禝d涓�0
+            message.setParentId(0L);
+            //鐢熸垚娑堟伅缂栫爜
+            message.setMessageNumber(messageNumber);
             //鐢熸垚榛樿鍙傛暟
-            messageAdd.setCreateTime(new Date());
-            messageAdd.setUpdateTime(new Date());
-            messageAdd.setCreateUser(messageParam.getCreateUser());
-            messageAdd.setUpdateUser(messageParam.getCreateUser());
-            messageAdd.setIsView(0);
-            messageAdd.setVersion(0);
-            messages.add(messageAdd);
+            //鍙戦�佹椂闂�
+            if (message.getSendTime() == null) {
+                message.setSendTime(new Date());
+            }
+            if (ChannelCode.SMS.equals(messageParam.getChannelCode())) {
+                message.setIsScan(1);
+            } else {
+                message.setIsScan(0);
+            }
+            message.setIsView(0);
+            message.setVersion(0);
+            message.setCreateTime(new Date());
+            message.setUpdateTime(new Date());
+            message.setCreateUser(messageParam.getCreateUser());
+            message.setUpdateUser(messageParam.getCreateUser());
+            messageMapper.insert(message);
+        } else {
+            message.setId(messageParam.getId());
+            BeanUtils.copyProperties(messageParam, message);
+            message.setUpdateTime(new Date());
+            message.setUpdateUser(messageParam.getCreateUser());
+            messageMapper.updateById(message);
         }
-        BeanUtils.copyProperties(messageParam, message);
-        //鎵归噺鏂板
-        iMessageService.saveBatch(messages);
+        //鍙戝竷娑堟伅
+        if (message.getStatus() == 1) {
+            String[] ids = messageParam.getTargetTo().split(",");
+            for (String id : ids) {
+                Message messageAdd = new Message();
+                BeanUtils.copyProperties(message, messageAdd);
+                //瀛愮被id璁剧疆涓虹┖
+                messageAdd.setId(null);
+                //璁剧疆鐖剁被Id
+                messageAdd.setParentId(message.getId());
+                //璁剧疆鎺ユ敹鑰�
+                messageAdd.setTargetTo(id);
+                messages.add(messageAdd);
+            }
+            //鎵归噺鏂板
+            iMessageService.saveBatch(messages);
+        }
         return message;
     }
 }

--
Gitblit v1.8.0