Bläddra i källkod

消息村表

master
徐勤民 1 år sedan
förälder
incheckning
0e0fcfb527
10 ändrade filer med 76 tillägg och 131 borttagningar
  1. +5
    -5
      src/main/java/cn/org/bjca/trust/java/imserver/common/json/GsonImplHelp.java
  2. +18
    -0
      src/main/java/cn/org/bjca/trust/java/imserver/common/json/LocalDateAdapter.java
  3. +2
    -3
      src/main/java/cn/org/bjca/trust/java/imserver/entitys/AbstractBaseTimeEntity.java
  4. +0
    -17
      src/main/java/cn/org/bjca/trust/java/imserver/entitys/Message.java
  5. +0
    -15
      src/main/java/cn/org/bjca/trust/java/imserver/entitys/message/TextMessage.java
  6. +9
    -0
      src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java
  7. +11
    -2
      src/main/java/cn/org/bjca/trust/java/imserver/im/bean/PacketMessage.java
  8. +22
    -73
      src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/SZYXMessage.java
  9. +7
    -13
      src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/message/SZYXTextMessage.java
  10. +2
    -3
      src/main/java/cn/org/bjca/trust/java/imserver/repository/MessageRepository.java

+ 5
- 5
src/main/java/cn/org/bjca/trust/java/imserver/common/json/GsonImplHelp.java Visa fil

@@ -1,10 +1,8 @@
package cn.org.bjca.trust.java.imserver.common.json;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.*;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -13,7 +11,9 @@ import java.util.List;
* Created by xuqm on 2016/6/3.
*/
public class GsonImplHelp extends Json {
private final Gson gson = new Gson();
private final Gson gson = new GsonBuilder()
.setPrettyPrinting()
.registerTypeAdapter(LocalDateTime.class, new LocalDateAdapter()).create();

@Override
public String toJson(Object src) {


+ 18
- 0
src/main/java/cn/org/bjca/trust/java/imserver/common/json/LocalDateAdapter.java Visa fil

@@ -0,0 +1,18 @@
package cn.org.bjca.trust.java.imserver.common.json;

import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

import java.lang.reflect.Type;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class LocalDateAdapter implements JsonSerializer<LocalDateTime> {
@Override
public JsonElement serialize(LocalDateTime localDateTime, Type type, JsonSerializationContext jsonSerializationContext) {
return new JsonPrimitive(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
}
}


+ 2
- 3
src/main/java/cn/org/bjca/trust/java/imserver/entitys/AbstractBaseTimeEntity.java Visa fil

@@ -14,7 +14,6 @@ import java.time.LocalDateTime;
* 自动更新创建时间和更新时间
*
* @author peter
*
**/
@MappedSuperclass
@EntityListeners(value = AuditingEntityListener.class)
@@ -27,8 +26,8 @@ public abstract class AbstractBaseTimeEntity {

@CreatedDate
@Column(nullable = false, updatable = false)
private transient LocalDateTime createTime;
private LocalDateTime createTime;
@LastModifiedDate
@Column()
private transient LocalDateTime updateTime;
private LocalDateTime updateTime;
}

+ 0
- 17
src/main/java/cn/org/bjca/trust/java/imserver/entitys/Message.java Visa fil

@@ -1,17 +0,0 @@
package cn.org.bjca.trust.java.imserver.entitys;

import cn.org.bjca.trust.java.imserver.entitys.message.TextMessage;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import lombok.Data;

@Entity
@Data
public class Message extends AbstractBaseTimeEntity{
private String type;
@OneToOne
@JoinColumn(name="text_id",referencedColumnName="_id")
private TextMessage textMessage;
}

+ 0
- 15
src/main/java/cn/org/bjca/trust/java/imserver/entitys/message/TextMessage.java Visa fil

@@ -1,15 +0,0 @@
package cn.org.bjca.trust.java.imserver.entitys.message;

import cn.org.bjca.trust.java.imserver.entitys.AbstractBaseTimeEntity;
import cn.org.bjca.trust.java.imserver.entitys.Message;
import jakarta.persistence.Entity;
import jakarta.persistence.OneToOne;
import lombok.Data;

@Entity
@Data
public class TextMessage extends AbstractBaseTimeEntity {
private String text;
@OneToOne(mappedBy="textMessage")
private Message message;
}

+ 9
- 0
src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java Visa fil

@@ -9,6 +9,7 @@ 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.msg.SZYXMessage;
import cn.org.bjca.trust.java.imserver.im.msg.msg.SendAckMessage;
import cn.org.bjca.trust.java.imserver.repository.MessageRepository;
import cn.org.bjca.trust.java.imserver.repository.UserRepository;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
@@ -18,6 +19,7 @@ import java.nio.charset.StandardCharsets;
public class ImManager {

private final UserRepository userRepository = SpringUtilsAuTo.getBean(UserRepository.class);
private final MessageRepository messageRepository = SpringUtilsAuTo.getBean(MessageRepository.class);

public static ImManager getInstance() {
return ImManagerHolder.instance;
@@ -70,6 +72,13 @@ public class ImManager {
} else if (topic.equals("server" + PacketType.SEND)) {
SZYXMessage szyxMessage = GsonImplHelp.get().toObject(msg, SZYXMessage.class);

szyxMessage.setFromClientId(szyxMessage.getFromClient().getUserId());
try {
messageRepository.save(szyxMessage.copy());
} catch (Exception e) {
System.out.println("--------------" + e.getMessage());
}

if (!szyxMessage.isGroup()) {
// List<UserInfo> userInfoList = userRepository.findAllByUserIdAndAppId(szyxMessage.getToClientId(), szyxMessage.getAppId());



+ 11
- 2
src/main/java/cn/org/bjca/trust/java/imserver/im/bean/PacketMessage.java Visa fil

@@ -1,11 +1,16 @@
package cn.org.bjca.trust.java.imserver.im.bean;


import cn.org.bjca.trust.java.imserver.entitys.AbstractBaseTimeEntity;
import cn.org.bjca.trust.java.imserver.enums.PacketType;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.MappedSuperclass;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.util.UUID;

public abstract class PacketMessage {
@MappedSuperclass
public abstract class PacketMessage extends AbstractBaseTimeEntity {
/**
* 消息id
*/
@@ -19,6 +24,10 @@ public abstract class PacketMessage {
this.packetType = packetType;
}

public PacketMessage() {

}

public String getMsgId() {
return msgId;
}


+ 22
- 73
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/SZYXMessage.java Visa fil

@@ -6,8 +6,17 @@ import cn.org.bjca.trust.java.imserver.enums.MsgType;
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.message.SZYXTextMessage;
import jakarta.persistence.*;
import lombok.Data;

@Entity
@Data
public class SZYXMessage extends PacketMessage {

public SZYXMessage() {
super(PacketType.SEND);
}

public SZYXMessage(MsgType msgType) {
super(PacketType.SEND);
this.msgType = msgType;
@@ -16,7 +25,9 @@ public class SZYXMessage extends PacketMessage {
/**
* 发送者信息
*/
@Transient
private UserInfo fromClient;
private String fromClientId;
/**
* 接收者信息
*/
@@ -28,6 +39,7 @@ public class SZYXMessage extends PacketMessage {
/**
* 自定义信息(备注信息,描述信息)
*/
@Column(name = "des")
private String describe;
/**
* 是不是群消息
@@ -45,81 +57,12 @@ public class SZYXMessage extends PacketMessage {
* 消息类型
*/
private MsgType msgType;
private SZYXTextMessage textMessage;

public UserInfo getFromClient() {
return fromClient;
}

public void setFromClient(UserInfo fromClient) {
this.fromClient = fromClient;
}

public String getToClientId() {
return toClientId;
}

public void setToClientId(String toClientId) {
this.toClientId = toClientId;
}

public String getGroupID() {
return groupID;
}

public void setGroupID(String groupID) {
this.groupID = groupID;
}

public String getDescribe() {
return describe;
}

public void setDescribe(String describe) {
this.describe = describe;
}

public boolean isGroup() {
return isGroup;
}

public void setGroup(boolean group) {
isGroup = group;
}

public boolean isArrive() {
return isArrive;
}

public void setArrive(boolean arrive) {
isArrive = arrive;
}

public int getStatus() {
return status;
}

public void setStatus(int status) {
this.status = status;
}

public MsgType getMsgType() {
return msgType;
}

public void setMsgType(MsgType msgType) {
this.msgType = msgType;
}

public SZYXTextMessage getTextMessage() {
return textMessage;
}

public void setTextMessage(SZYXTextMessage textMessage) {
this.textMessage = textMessage;
}
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "text_id", referencedColumnName = "_id")
private SZYXTextMessage textMessage;

public SZYXMessage copy(){
public SZYXMessage copy() {
SZYXMessage szyxMessage = new SZYXMessage(this.msgType);
szyxMessage.setMsgId(this.getMsgId());
szyxMessage.setPacketType(this.getPacketType());
@@ -135,6 +78,12 @@ public class SZYXMessage extends PacketMessage {
szyxMessage.setGroup(this.isGroup());
szyxMessage.setStatus(this.getStatus());
szyxMessage.setGroupID(this.getGroupID());
szyxMessage.setFromClientId(this.getFromClient().getUserId());

SZYXTextMessage tm = new SZYXTextMessage();
tm.setText(this.getTextMessage().getText());

szyxMessage.setTextMessage(tm);
return szyxMessage;
}



+ 7
- 13
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/message/SZYXTextMessage.java Visa fil

@@ -1,17 +1,11 @@
package cn.org.bjca.trust.java.imserver.im.msg.msg.message;

public class SZYXTextMessage {
private String text;

public SZYXTextMessage(String text) {
this.text = text;
}
import cn.org.bjca.trust.java.imserver.entitys.AbstractBaseTimeEntity;
import jakarta.persistence.Entity;
import lombok.Data;

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}
@Entity
@Data
public class SZYXTextMessage extends AbstractBaseTimeEntity {
private String text;
}

+ 2
- 3
src/main/java/cn/org/bjca/trust/java/imserver/repository/MessageRepository.java Visa fil

@@ -1,11 +1,10 @@
package cn.org.bjca.trust.java.imserver.repository;

import cn.org.bjca.trust.java.imserver.entitys.Message;
import cn.org.bjca.trust.java.imserver.entitys.UserInfo;
import cn.org.bjca.trust.java.imserver.im.msg.msg.SZYXMessage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface MessageRepository extends JpaRepository<Message,Long> {
public interface MessageRepository extends JpaRepository<SZYXMessage, Long> {

}

Laddar…
Avbryt
Spara