huey 1 年之前
父節點
當前提交
6a39bc4dbf

+ 3 - 0
src/main/java/com/dragon/tj/portal/common/dto/message/MessageInfoSend.java

@@ -1,6 +1,7 @@
 package com.dragon.tj.portal.common.dto.message;
 
 
+import com.dragon.tj.portal.entity.MessageInfo;
 import lombok.Getter;
 import lombok.Setter;
 import org.hibernate.validator.constraints.Range;
@@ -19,6 +20,8 @@ public class MessageInfoSend {
 
     private MessageInfoReq messageInfoReq;
 
+    private MessageInfo messageInfo;
+
     private Set<String> clientIds;
 
 }

+ 3 - 0
src/main/java/com/dragon/tj/portal/common/dto/notice/NoticeInfoSend.java

@@ -1,6 +1,7 @@
 package com.dragon.tj.portal.common.dto.notice;
 
 
+import com.dragon.tj.portal.entity.NoticeInfo;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -17,6 +18,8 @@ public class NoticeInfoSend {
 
     private NoticeInfoReq noticeInfoReq;
 
+    private NoticeInfo noticeInfo;
+
     private Set<String> clientIds;
 
 }

+ 11 - 11
src/main/java/com/dragon/tj/portal/component/message/MessageConsumer.java

@@ -5,11 +5,11 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.dragon.tj.portal.common.convert.mesage.MessageReqConvert;
 import com.dragon.tj.portal.common.convert.notice.NoticeReqConvert;
-import com.dragon.tj.portal.common.dto.message.MessageInfoItem;
-import com.dragon.tj.portal.common.dto.message.MessageInfoReq;
 import com.dragon.tj.portal.common.dto.message.MessageInfoSend;
-import com.dragon.tj.portal.common.dto.notice.NoticeInfoReq;
 import com.dragon.tj.portal.common.dto.notice.NoticeInfoSend;
+import com.dragon.tj.portal.common.enums.message.MsgRecordTypeEnum;
+import com.dragon.tj.portal.entity.MessageInfo;
+import com.dragon.tj.portal.entity.NoticeInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
@@ -60,7 +60,7 @@ public class MessageConsumer {
             return;
         }
         Set<String> clientIds = reqDTO.getClientIds();
-        MessageInfoReq messageInfoReq = reqDTO.getMessageInfoReq();
+        MessageInfo messageInfo = reqDTO.getMessageInfo();
 
         for (String clientId : clientIds) {
             OpenApiSseEmitter emitter = sseEmitters.get(clientId);
@@ -69,10 +69,10 @@ public class MessageConsumer {
                 continue;
             }
             try {
-                MessageInfoItem messageInfoItem = messageReqConvert.reqToItem(messageInfoReq);
-                messageInfoItem.setClientId(clientId);
+                messageInfo.setClientId(clientId);
+                messageInfo.setRecordType(MsgRecordTypeEnum.MESSAGE.value());
 
-                String sendMsg = JSON.toJSONString(messageInfoItem);
+                String sendMsg = JSON.toJSONString(messageInfo);
                 // 发送消息给客户端
                 log.info("send sse msg={} to clientId={}", sendMsg, clientId);
                 emitter.send(sendMsg, MediaType.APPLICATION_JSON);
@@ -98,7 +98,7 @@ public class MessageConsumer {
             return;
         }
         Set<String> clientIds = reqDTO.getClientIds();
-        NoticeInfoReq noticeInfoReq = reqDTO.getNoticeInfoReq();
+        NoticeInfo noticeInfo = reqDTO.getNoticeInfo();
 
         for (String clientId : clientIds) {
             OpenApiSseEmitter emitter = sseEmitters.get(clientId);
@@ -107,10 +107,10 @@ public class MessageConsumer {
                 continue;
             }
             try {
-                MessageInfoItem messageInfoItem = noticeReqConvert.reqToItem(noticeInfoReq);
-                messageInfoItem.setClientId(clientId);
+                noticeInfo.setClientId(clientId);
+                noticeInfo.setRecordType(MsgRecordTypeEnum.NOTICE.value());
 
-                String sendMsg = JSON.toJSONString(messageInfoItem);
+                String sendMsg = JSON.toJSONString(noticeInfo);
                 // 发送消息给客户端
                 log.info("send sse msg={} to clientId={}", sendMsg, clientId);
                 emitter.send(sendMsg, MediaType.APPLICATION_JSON);

+ 4 - 0
src/main/java/com/dragon/tj/portal/entity/MessageInfo.java

@@ -118,5 +118,9 @@ public class MessageInfo implements Serializable {
     @TableField(exist = false)
     private Long targetId;
 
+    @TableField(exist = false)
+    private Integer recordType;
 
+    @TableField(exist = false)
+    private String clientId;
 }

+ 7 - 0
src/main/java/com/dragon/tj/portal/entity/NoticeInfo.java

@@ -111,5 +111,12 @@ public class NoticeInfo implements Serializable {
     @TableField(exist = false)
     private Integer readStatus;
 
+    @TableField(exist = false)
+    private Integer recordType;
+
+    @TableField(exist = false)
+    private String clientId;
+
+
 
 }

+ 3 - 0
src/main/java/com/dragon/tj/portal/service/impl/MessageInfoServiceImpl.java

@@ -201,6 +201,9 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
         boolean isSaveBatchSuccess = false;
         try {
             isSaveBatchSuccess = this.save(messageInfo);
+
+            messageInfoSend.setMessageInfo(messageInfo);
+
             messageClientIds.forEach(e -> {
                 MessageInfoScope messageInfoScope = new MessageInfoScope();
                 messageInfoScope.setMessageInfoId(messageInfo.getId());

+ 3 - 1
src/main/java/com/dragon/tj/portal/service/impl/NoticeInfoServiceImpl.java

@@ -144,7 +144,7 @@ public class NoticeInfoServiceImpl extends ServiceImpl<NoticeInfoMapper, NoticeI
                 msgRecord.setCreateBy(BusinessConstants.DEFAULT_ADMIN);
                 msgRecord.setCreateTime(LocalDateTime.now());
                 msgRecord.setReqContent(JSON.toJSONString(noticeInfoSend));
-                msgRecord.setType(MsgRecordTypeEnum.MESSAGE.value());
+                msgRecord.setType(MsgRecordTypeEnum.NOTICE.value());
                 msgRecordService.save(msgRecord);
             }
         }
@@ -207,6 +207,8 @@ public class NoticeInfoServiceImpl extends ServiceImpl<NoticeInfoMapper, NoticeI
         boolean isSaveBatchSuccess = false;
         try {
             isSaveBatchSuccess = this.save(noticeInfo);
+            noticeInfoSend.setNoticeInfo(noticeInfo);
+
             messageClientIds.forEach(e -> {
                 NoticeInfoScope noticeInfoScope = new NoticeInfoScope();
                 noticeInfoScope.setNoticeInfoId(noticeInfo.getId());