登录日志
这个提交包含在:
父节点
0e0fcfb527
当前提交
e6f0bbc4d0
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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 + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
正在加载...
在新工单中引用
屏蔽一个用户