浏览代码

会话列表更新

xuqm 1 年之前
父节点
当前提交
d88e2440d5

+ 1 - 0
src/main/java/cn/org/bjca/trust/java/imserver/enums/PacketType.java

@@ -7,6 +7,7 @@ public enum PacketType {
     //发送消息
     SEND(20),
     SEND_ACK(21),
+    CONVERSATION(30),
     //心跳包
     PING(40),
     PANG(41),

+ 9 - 2
src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java

@@ -3,13 +3,13 @@ package cn.org.bjca.trust.java.imserver.im;
 
 import cn.org.bjca.trust.java.imserver.common.SpringUtilsAuTo;
 import cn.org.bjca.trust.java.imserver.common.json.GsonImplHelp;
-import cn.org.bjca.trust.java.imserver.entitys.Conversation;
 import cn.org.bjca.trust.java.imserver.entitys.GroupEntity;
 import cn.org.bjca.trust.java.imserver.entitys.UserInfo;
 import cn.org.bjca.trust.java.imserver.enums.PacketType;
 import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
 import cn.org.bjca.trust.java.imserver.im.msg.ConnectMessage;
 import cn.org.bjca.trust.java.imserver.im.msg.ConnectedMessage;
+import cn.org.bjca.trust.java.imserver.im.msg.ConversationMessage;
 import cn.org.bjca.trust.java.imserver.im.msg.msg.SZYXMessage;
 import cn.org.bjca.trust.java.imserver.im.msg.msg.SendAckMessage;
 import cn.org.bjca.trust.java.imserver.repository.*;
@@ -120,11 +120,17 @@ public class ImManager {
 
     private void saveConversation(SZYXMessage szyxMessage) {
         try {
-            Conversation conversation = new Conversation();
+            ConversationMessage conversation = new ConversationMessage();
             conversation.setGroup(szyxMessage.isGroup());
             conversation.setSender(!szyxMessage.isArrive());
             conversation.setMessage(szyxMessage);
             conversation.setSelf(userRepository.findFirstByUserIdAndOsTypeAndAppId(szyxMessage.getUserName(), szyxMessage.getOsType(), szyxMessage.getAppId()));
+
+            conversation.setAppId(szyxMessage.getAppId());
+            conversation.setUserName(szyxMessage.getUserName());
+            conversation.setOsType(szyxMessage.getOsType());
+            conversation.setToken(szyxMessage.getToken());
+
             if (szyxMessage.isGroup()) {
                 conversation.setGroupEntity(groupRepository.findFirstByAppIdAndGroupId(szyxMessage.getAppId(), szyxMessage.getGroupID()));
             } else {
@@ -138,6 +144,7 @@ public class ImManager {
             }
 
             conversationRepository.save(conversation);
+            sendPacketMessage(PacketType.CONVERSATION, conversation);
         } catch (Exception e) {
             System.out.println("--------------" + e.getMessage());
         }

+ 11 - 3
src/main/java/cn/org/bjca/trust/java/imserver/entitys/Conversation.java → src/main/java/cn/org/bjca/trust/java/imserver/im/msg/ConversationMessage.java

@@ -1,6 +1,10 @@
-package cn.org.bjca.trust.java.imserver.entitys;
+package cn.org.bjca.trust.java.imserver.im.msg;
 
-import cn.org.bjca.trust.java.imserver.entitys.converter.AbstractBaseTimeEntity;
+
+import cn.org.bjca.trust.java.imserver.entitys.GroupEntity;
+import cn.org.bjca.trust.java.imserver.entitys.UserInfo;
+import cn.org.bjca.trust.java.imserver.enums.PacketType;
+import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
 import cn.org.bjca.trust.java.imserver.im.msg.msg.SZYXMessage;
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Entity;
@@ -10,7 +14,11 @@ import lombok.Data;
 
 @Entity
 @Data
-public class Conversation extends AbstractBaseTimeEntity {
+public class ConversationMessage extends PacketMessage {
+    public ConversationMessage() {
+        super(PacketType.CONVERSATION);
+    }
+
     private boolean isSender;
     private boolean isGroup;
 

+ 2 - 3
src/main/java/cn/org/bjca/trust/java/imserver/repository/ConversationRepository.java

@@ -1,11 +1,10 @@
 package cn.org.bjca.trust.java.imserver.repository;
 
-import cn.org.bjca.trust.java.imserver.entitys.Conversation;
-import cn.org.bjca.trust.java.imserver.entitys.UserInfo;
+import cn.org.bjca.trust.java.imserver.im.msg.ConversationMessage;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface ConversationRepository extends JpaRepository<Conversation, String> {
+public interface ConversationRepository extends JpaRepository<ConversationMessage, String> {
 
 }