145 lines
3.3 KiB
Java
145 lines
3.3 KiB
Java
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();
|
||
}
|
||
}
|
||
}
|