소스 검색

登录日志

xuqm 1 년 전
부모
커밋
e6f0bbc4d0

+ 2 - 2
src/main/java/cn/org/bjca/trust/java/imserver/common/json/LocalDateAdapter.java

@@ -7,12 +7,12 @@ import com.google.gson.JsonSerializer;
 
 import java.lang.reflect.Type;
 import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
+import java.time.ZoneOffset;
 
 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")));
+        return new JsonPrimitive(localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli());
     }
 }
 

+ 5 - 97
src/main/java/cn/org/bjca/trust/java/imserver/entitys/DeviceEntity.java

@@ -1,9 +1,13 @@
 package cn.org.bjca.trust.java.imserver.entitys;
 
 
+import jakarta.persistence.Entity;
+import lombok.Data;
 import org.springframework.lang.NonNull;
 
-public class DeviceEntity {
+@Entity
+@Data
+public class DeviceEntity extends AbstractBaseTimeEntity {
     private int _uid;
     private String deviceId;
     // 厂商 MANUFACTURER
@@ -22,100 +26,4 @@ public class DeviceEntity {
     private String supported64BitAbis;
     // SUPPORTED_ABIS
     private String supportedAbis;
-
-    public void set_uid(int _uid) {
-        this._uid = _uid;
-    }
-
-    public int get_uid() {
-        return _uid;
-    }
-
-    public String getDeviceId() {
-        return deviceId;
-    }
-
-    public void setDeviceId(String deviceId) {
-        this.deviceId = deviceId;
-    }
-
-    public String getManufacturer() {
-        return manufacturer;
-    }
-
-    public void setManufacturer(String manufacturer) {
-        this.manufacturer = manufacturer;
-    }
-
-    public String getBrand() {
-        return brand;
-    }
-
-    public void setBrand(String brand) {
-        this.brand = brand;
-    }
-
-    public String getModel() {
-        return model;
-    }
-
-    public void setModel(String model) {
-        this.model = model;
-    }
-
-    public String getCpuAbi() {
-        return cpuAbi;
-    }
-
-    public void setCpuAbi(String cpuAbi) {
-        this.cpuAbi = cpuAbi;
-    }
-
-    public String getFingerprint() {
-        return fingerprint;
-    }
-
-    public void setFingerprint(String fingerprint) {
-        this.fingerprint = fingerprint;
-    }
-
-    public String getSupported32BitAbis() {
-        return supported32BitAbis;
-    }
-
-    public void setSupported32BitAbis(String supported32BitAbis) {
-        this.supported32BitAbis = supported32BitAbis;
-    }
-
-    public String getSupported64BitAbis() {
-        return supported64BitAbis;
-    }
-
-    public void setSupported64BitAbis(String supported64BitAbis) {
-        this.supported64BitAbis = supported64BitAbis;
-    }
-
-    public String getSupportedAbis() {
-        return supportedAbis;
-    }
-
-    public void setSupportedAbis(String supportedAbis) {
-        this.supportedAbis = supportedAbis;
-    }
-
-    @NonNull
-    @Override
-    public String toString() {
-        return "DeviceEntity{" +
-                "deviceId='" + deviceId + '\'' +
-                ", manufacturer='" + manufacturer + '\'' +
-                ", brand='" + brand + '\'' +
-                ", model='" + model + '\'' +
-                ", cpuAbi='" + cpuAbi + '\'' +
-                ", fingerprint='" + fingerprint + '\'' +
-                ", supported32BitAbis='" + supported32BitAbis + '\'' +
-                ", supported64BitAbis='" + supported64BitAbis + '\'' +
-                ", supportedAbis='" + supportedAbis + '\'' +
-                '}';
-    }
 }

+ 7 - 0
src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java

@@ -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.ConnectRepository;
 import cn.org.bjca.trust.java.imserver.repository.MessageRepository;
 import cn.org.bjca.trust.java.imserver.repository.UserRepository;
 import org.eclipse.paho.client.mqttv3.*;
@@ -20,6 +21,7 @@ public class ImManager {
 
     private final UserRepository userRepository = SpringUtilsAuTo.getBean(UserRepository.class);
     private final MessageRepository messageRepository = SpringUtilsAuTo.getBean(MessageRepository.class);
+    private final ConnectRepository connectRepository = SpringUtilsAuTo.getBean(ConnectRepository.class);
 
     public static ImManager getInstance() {
         return ImManagerHolder.instance;
@@ -125,6 +127,11 @@ public class ImManager {
 
 
     private void sendConnectedMsg(ConnectMessage connectMessage) {
+        try {
+            connectRepository.save(connectMessage.copy());
+        } catch (Exception ignored) {
+
+        }
         ConnectedMessage message = new ConnectedMessage();
         message.setStatus(200);
         message.setAppId(connectMessage.getAppId());

+ 31 - 5
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/ConnectMessage.java

@@ -4,11 +4,21 @@ package cn.org.bjca.trust.java.imserver.im.msg;
 import cn.org.bjca.trust.java.imserver.entitys.DeviceEntity;
 import cn.org.bjca.trust.java.imserver.enums.PacketType;
 import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.OneToOne;
+import lombok.Data;
 
+@Entity
+@Data
 public class ConnectMessage extends PacketMessage {
     public ConnectMessage() {
         super(PacketType.CONNECT);
     }
+
+    @OneToOne(cascade = CascadeType.ALL)
+    @JoinColumn(name = "device_id", referencedColumnName = "_id")
     private DeviceEntity device;
 
     public ConnectMessage(DeviceEntity device) {
@@ -16,11 +26,27 @@ public class ConnectMessage extends PacketMessage {
         this.device = device;
     }
 
-    public DeviceEntity getDevice() {
-        return device;
-    }
+    public ConnectMessage copy() {
+        ConnectMessage connectMessage = new ConnectMessage();
+        connectMessage.setMsgId(this.getMsgId());
+        connectMessage.setPacketType(this.getPacketType());
+        connectMessage.setTimestamp(this.getTimestamp());
+        connectMessage.setUserName(this.getUserName());
+        connectMessage.setAppId(this.getAppId());
+        DeviceEntity deviceEntity = new DeviceEntity();
 
-    public void setDevice(DeviceEntity device) {
-        this.device = device;
+        deviceEntity.setDeviceId(this.getDevice().getDeviceId());
+        deviceEntity.set_uid(this.getDevice().get_uid());
+        deviceEntity.setModel(this.getDevice().getModel());
+        deviceEntity.setBrand(this.getDevice().getBrand());
+        deviceEntity.setCpuAbi(this.getDevice().getCpuAbi());
+        deviceEntity.setFingerprint(this.getDevice().getFingerprint());
+        deviceEntity.setManufacturer(this.getDevice().getManufacturer());
+        deviceEntity.setSupportedAbis(this.getDevice().getSupportedAbis());
+        deviceEntity.setSupported32BitAbis(this.getDevice().getSupported32BitAbis());
+        deviceEntity.setSupported64BitAbis(this.getDevice().getSupported64BitAbis());
+
+        connectMessage.setDevice(deviceEntity);
+        return connectMessage;
     }
 }

+ 0 - 26
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/ConnectMessage.java

@@ -1,26 +0,0 @@
-package cn.org.bjca.trust.java.imserver.im.msg.msg;
-
-
-import cn.org.bjca.trust.java.imserver.entitys.DeviceEntity;
-import cn.org.bjca.trust.java.imserver.enums.PacketType;
-import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
-
-public class ConnectMessage extends PacketMessage {
-    public ConnectMessage() {
-        super(PacketType.CONNECT);
-    }
-    private DeviceEntity device;
-
-    public ConnectMessage(DeviceEntity device) {
-        super(PacketType.CONNECT);
-        this.device = device;
-    }
-
-    public DeviceEntity getDevice() {
-        return device;
-    }
-
-    public void setDevice(DeviceEntity device) {
-        this.device = device;
-    }
-}

+ 0 - 30
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/msg/ConnectedMessage.java

@@ -1,30 +0,0 @@
-package cn.org.bjca.trust.java.imserver.im.msg.msg;
-
-
-import cn.org.bjca.trust.java.imserver.enums.PacketType;
-import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
-
-public class ConnectedMessage extends PacketMessage {
-    public ConnectedMessage() {
-        super(PacketType.CONNECTED);
-    }
-
-    private int status;
-    private String msg;
-
-    public int getStatus() {
-        return status;
-    }
-
-    public void setStatus(int status) {
-        this.status = status;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-}

+ 13 - 0
src/main/java/cn/org/bjca/trust/java/imserver/repository/ConnectRepository.java

@@ -0,0 +1,13 @@
+package cn.org.bjca.trust.java.imserver.repository;
+
+import cn.org.bjca.trust.java.imserver.entitys.UserInfo;
+import cn.org.bjca.trust.java.imserver.im.msg.ConnectMessage;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface ConnectRepository extends JpaRepository<ConnectMessage, Long> {
+
+}