electripper-v2/ruoyi-service/src/main/java/com/ruoyi/iot/domain/IotDeviceDetail.java
2025-03-21 17:47:51 +08:00

145 lines
3.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}