Browse Source

会话列表更新

master
徐勤民 1 year ago
parent
commit
d88e2440d5
4 changed files with 23 additions and 8 deletions
  1. +1
    -0
      src/main/java/cn/org/bjca/trust/java/imserver/enums/PacketType.java
  2. +9
    -2
      src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java
  3. +11
    -3
      src/main/java/cn/org/bjca/trust/java/imserver/im/msg/ConversationMessage.java
  4. +2
    -3
      src/main/java/cn/org/bjca/trust/java/imserver/repository/ConversationRepository.java

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

@@ -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 View File

@@ -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());
}


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 View File

@@ -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 View File

@@ -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> {

}

Loading…
Cancel
Save