From d88e2440d516a2f35a29d58f2ca84f878fcf6601 Mon Sep 17 00:00:00 2001 From: xuqm Date: Fri, 2 Jun 2023 17:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E5=88=97=E8=A1=A8=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bjca/trust/java/imserver/enums/PacketType.java | 1 + .../org/bjca/trust/java/imserver/im/ImManager.java | 11 +++++++++-- .../msg/ConversationMessage.java} | 14 +++++++++++--- .../repository/ConversationRepository.java | 5 ++--- 4 files changed, 23 insertions(+), 8 deletions(-) rename src/main/java/cn/org/bjca/trust/java/imserver/{entitys/Conversation.java => im/msg/ConversationMessage.java} (58%) diff --git a/src/main/java/cn/org/bjca/trust/java/imserver/enums/PacketType.java b/src/main/java/cn/org/bjca/trust/java/imserver/enums/PacketType.java index 5f4459f..0c6095e 100644 --- a/src/main/java/cn/org/bjca/trust/java/imserver/enums/PacketType.java +++ b/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), diff --git a/src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java b/src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java index 0787496..b03b2d5 100644 --- a/src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java +++ b/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()); } diff --git a/src/main/java/cn/org/bjca/trust/java/imserver/entitys/Conversation.java b/src/main/java/cn/org/bjca/trust/java/imserver/im/msg/ConversationMessage.java similarity index 58% rename from src/main/java/cn/org/bjca/trust/java/imserver/entitys/Conversation.java rename to src/main/java/cn/org/bjca/trust/java/imserver/im/msg/ConversationMessage.java index f3e1ea3..3a01c18 100644 --- a/src/main/java/cn/org/bjca/trust/java/imserver/entitys/Conversation.java +++ b/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; diff --git a/src/main/java/cn/org/bjca/trust/java/imserver/repository/ConversationRepository.java b/src/main/java/cn/org/bjca/trust/java/imserver/repository/ConversationRepository.java index 3fafd22..212d1d1 100644 --- a/src/main/java/cn/org/bjca/trust/java/imserver/repository/ConversationRepository.java +++ b/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 { +public interface ConversationRepository extends JpaRepository { }