登录日志
这个提交包含在:
父节点
0e0fcfb527
当前提交
e6f0bbc4d0
@ -7,12 +7,12 @@ import com.google.gson.JsonSerializer;
|
|||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.ZoneOffset;
|
||||||
|
|
||||||
public class LocalDateAdapter implements JsonSerializer<LocalDateTime> {
|
public class LocalDateAdapter implements JsonSerializer<LocalDateTime> {
|
||||||
@Override
|
@Override
|
||||||
public JsonElement serialize(LocalDateTime localDateTime, Type type, JsonSerializationContext jsonSerializationContext) {
|
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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
package cn.org.bjca.trust.java.imserver.entitys;
|
package cn.org.bjca.trust.java.imserver.entitys;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import lombok.Data;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
|
|
||||||
public class DeviceEntity {
|
@Entity
|
||||||
|
@Data
|
||||||
|
public class DeviceEntity extends AbstractBaseTimeEntity {
|
||||||
private int _uid;
|
private int _uid;
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
// 厂商 MANUFACTURER
|
// 厂商 MANUFACTURER
|
||||||
@ -22,100 +26,4 @@ public class DeviceEntity {
|
|||||||
private String supported64BitAbis;
|
private String supported64BitAbis;
|
||||||
// SUPPORTED_ABIS
|
// SUPPORTED_ABIS
|
||||||
private String supportedAbis;
|
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 + '\'' +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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.ConnectedMessage;
|
||||||
import cn.org.bjca.trust.java.imserver.im.msg.msg.SZYXMessage;
|
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.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.MessageRepository;
|
||||||
import cn.org.bjca.trust.java.imserver.repository.UserRepository;
|
import cn.org.bjca.trust.java.imserver.repository.UserRepository;
|
||||||
import org.eclipse.paho.client.mqttv3.*;
|
import org.eclipse.paho.client.mqttv3.*;
|
||||||
@ -20,6 +21,7 @@ public class ImManager {
|
|||||||
|
|
||||||
private final UserRepository userRepository = SpringUtilsAuTo.getBean(UserRepository.class);
|
private final UserRepository userRepository = SpringUtilsAuTo.getBean(UserRepository.class);
|
||||||
private final MessageRepository messageRepository = SpringUtilsAuTo.getBean(MessageRepository.class);
|
private final MessageRepository messageRepository = SpringUtilsAuTo.getBean(MessageRepository.class);
|
||||||
|
private final ConnectRepository connectRepository = SpringUtilsAuTo.getBean(ConnectRepository.class);
|
||||||
|
|
||||||
public static ImManager getInstance() {
|
public static ImManager getInstance() {
|
||||||
return ImManagerHolder.instance;
|
return ImManagerHolder.instance;
|
||||||
@ -125,6 +127,11 @@ public class ImManager {
|
|||||||
|
|
||||||
|
|
||||||
private void sendConnectedMsg(ConnectMessage connectMessage) {
|
private void sendConnectedMsg(ConnectMessage connectMessage) {
|
||||||
|
try {
|
||||||
|
connectRepository.save(connectMessage.copy());
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
|
||||||
|
}
|
||||||
ConnectedMessage message = new ConnectedMessage();
|
ConnectedMessage message = new ConnectedMessage();
|
||||||
message.setStatus(200);
|
message.setStatus(200);
|
||||||
message.setAppId(connectMessage.getAppId());
|
message.setAppId(connectMessage.getAppId());
|
||||||
|
|||||||
@ -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.entitys.DeviceEntity;
|
||||||
import cn.org.bjca.trust.java.imserver.enums.PacketType;
|
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.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 class ConnectMessage extends PacketMessage {
|
||||||
public ConnectMessage() {
|
public ConnectMessage() {
|
||||||
super(PacketType.CONNECT);
|
super(PacketType.CONNECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OneToOne(cascade = CascadeType.ALL)
|
||||||
|
@JoinColumn(name = "device_id", referencedColumnName = "_id")
|
||||||
private DeviceEntity device;
|
private DeviceEntity device;
|
||||||
|
|
||||||
public ConnectMessage(DeviceEntity device) {
|
public ConnectMessage(DeviceEntity device) {
|
||||||
@ -16,11 +26,27 @@ public class ConnectMessage extends PacketMessage {
|
|||||||
this.device = device;
|
this.device = device;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeviceEntity getDevice() {
|
public ConnectMessage copy() {
|
||||||
return device;
|
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) {
|
deviceEntity.setDeviceId(this.getDevice().getDeviceId());
|
||||||
this.device = device;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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> {
|
||||||
|
|
||||||
|
}
|
||||||
正在加载...
在新工单中引用
屏蔽一个用户