electripper-v2/ruoyi-service/src/main/java/com/ruoyi/iot/domain/IotDeviceDetail.java

145 lines
3.3 KiB
Java
Raw Normal View History

2025-03-21 17:47:51 +08:00
package com.ruoyi.iot.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.iot.service.impl.DeviceOnlineStatus;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import java.util.Date;
import java.util.List;
/**
* @author wjh
* 2024/3/20
*/
@Data
public class IotDeviceDetail {
// 设备ID类型根据实际情况可能是Integer或String
@JsonProperty("did")
private String did;
// 产品ID
@JsonProperty("pid")
private String pid;
// 接入协议,具体类型根据接入协议说明表确定
@JsonProperty("access_pt")
private Integer accessPt;
// 数据协议,具体类型根据数据协议说明表确定
@JsonProperty("data_pt")
private Integer dataPt;
// 设备名称
@JsonProperty("name")
private String name;
// 设备描述
@JsonProperty("desc")
private String desc;
// 设备鉴权信息,如果是一个复杂的对象,需要另外定义类
@JsonProperty("auth_info")
private Object authInfo;
// 设备状态
@JsonProperty("status")
private Integer status;
// 设备创建时间
@JsonProperty("create_time")
private Date createTime;
// 设备激活时间
@JsonProperty("activate_time")
private Date activateTime;
// 设备最后一次在线时间
@JsonProperty("last_time")
private Date lastTime;
// 设备接入鉴权key
@JsonProperty("sec_key")
private String secKey;
// LwM2M设备IMEI
@JsonProperty("imei")
private String imei;
// LwM2M设备IMSI
@JsonProperty("imsi")
private String imsi;
// LwM2M设备PSK
@JsonProperty("psk")
private String psk;
// LwM2M设备auth_code
@JsonProperty("auth_code")
private String authCode;
// 产品智能化方式
@JsonProperty("intelligent_way")
private int intelligentWay;
// 设备分组ID
@JsonProperty("group_id")
private String groupId;
// 设备启用状态
@JsonProperty("enable_status")
private Boolean enableStatus;
// 设备标签列表
@JsonProperty("tags")
private List<String> tags;
// 经度
@JsonProperty("lon")
private String lon;
// 纬度
@JsonProperty("lat")
private String lat;
// 芯片相关信息,如果是一个复杂的对象,需要另外定义类
@JsonProperty("chip")
private Object chip;
// 设备资源自动订阅是否启用
@JsonProperty("obsv")
private Boolean obsv;
// 设备资源自动订阅状态
@JsonProperty("obsv_st")
private Boolean obsvSt;
// 设备私密性
@JsonProperty("private")
private Boolean privateFlag;
// 设备imsi历史变更记录
@JsonProperty("imsi_old")
private List<String> imsiOld;
// 设备imsi最近一次修改时间
@JsonProperty("imsi_mt")
private Date imsiMt;
@Getter
@AllArgsConstructor
public enum Status {
OFFLINE(0), // 离线
ONLINE(1), // 在线
NO_ACTIVE(2); // 未激活
private final Integer status;
// 转换为设备在线状态
public static String toDeviceOnlineStatus(Integer iotStatus) {
return ONLINE.getStatus().equals(iotStatus) ? DeviceOnlineStatus.ONLINE.getStatus(): DeviceOnlineStatus.OFFLINE.getStatus();
}
}
}