Files
iot-util/src/main/java/com/yixiong/iot/model/DeviceItem.java
T
lianlonggangandClaude 8bd45a4813 fix: 修正设备详情字段映射并增强设备列表展示
- DeviceItem: 修复 lon/lat 注解大小写导致经纬度恒为空的问题
- DeviceItem: 补全视联网(viot_*)与机卡协同上报(up_*)等缺失字段
- index.ftl: 设备详情弹窗补全字段展示,枚举值友好映射
- index.ftl: 设备列表重点标记测试设备(整行高亮+测试徽章)
- index.ftl: 新增"最近"列,按最后在线时间显示今天/昨天/前天/N天前

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-17 17:25:40 +08:00

220 lines
5.7 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.yixiong.iot.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
/**
* 设备详情 / 设备列表项的数据结构
* 字段对应 OneNET 平台 /device/detail 接口返回的 data 节点,
* 同时兼容 /device/list 列表项(列表仅返回部分字段,缺失字段为 null)。
*/
@Data
public class DeviceItem {
/** 设备 ID(平台返回 int/string,统一用 String 接收,避免前端 Long 精度丢失) */
private String did;
/** 产品 ID */
private String pid;
/** 接入协议,取值见 OneNET 接入协议取值说明表(如 51) */
@JsonProperty("access_pt")
private Integer accessPt;
/** 数据协议,取值见 OneNET 数据协议取值说明表 */
@JsonProperty("data_pt")
private Integer dataPt;
/** 设备名称 */
private String name;
/** 设备描述 */
private String desc;
/** 设备鉴权信息 */
@JsonProperty("auth_info")
private String authInfo;
/**
* 设备状态
* 0-离线;1-在线;2-未激活
*/
private Integer status;
/** 设备创建时间 */
@JsonProperty("create_time")
private String createTime;
/** 设备激活时间 */
@JsonProperty("activate_time")
private String activateTime;
/** 设备最后一次在线时间 */
@JsonProperty("last_time")
private String lastTime;
/** 设备接入鉴权 key */
@JsonProperty("sec_key")
private String secKey;
/** LwM2M 设备 IMEI */
private String imei;
/** LwM2M 设备 IMSI */
private String imsi;
/** LwM2M 设备 PSK */
private String psk;
/** LwM2M 设备 auth_code */
@JsonProperty("auth_code")
private String authCode;
/**
* 产品智能化方式
* 1-设备接入;2-产品智能化
*/
@JsonProperty("intelligent_way")
private Integer intelligentWay;
/** 设备分组 ID */
@JsonProperty("group_id")
private String groupId;
/** 设备启用状态 */
@JsonProperty("enable_status")
private Boolean enableStatus;
/** 设备标签列表 */
private List<String> tags;
/** 经度(注意:平台返回小写 lon,勿用大写注解) */
@JsonProperty("lon")
private String lon;
/** 纬度(注意:平台返回小写 lat,勿用大写注解) */
@JsonProperty("lat")
private String lat;
/** 设备芯片信息 */
private Integer chip;
/** 设备资源自动订阅是否启用 */
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 String imsiMt;
// ===== 视联网设备字段 =====
/** 视频设备编码,视联网设备返回 */
@JsonProperty("viot_device_sn")
private String viotDeviceSn;
/**
* 视频设备接入协议,视联网设备返回
* 1-GB28181 协议;2-千里眼协议
*/
@JsonProperty("viot_protocol")
private Integer viotProtocol;
/**
* 视频设备类型,视联网设备返回
* 1-IPC2-NVR
*/
@JsonProperty("viot_device_type")
private Integer viotDeviceType;
// ===== 视联网国标协议(GB28181)设备字段 =====
/** SIP 服务器 ID,国标摄像头设备返回 */
@JsonProperty("viot_sip_server_id")
private String viotSipServerId;
/** SIP 服务器域,国标摄像头设备返回 */
@JsonProperty("viot_sip_server_domain")
private String viotSipServerDomain;
/** SIP 服务器 IP,国标摄像头设备返回 */
@JsonProperty("viot_sip_server_ip")
private String viotSipServerIp;
/** SIP 服务器端口,国标摄像头设备返回 */
@JsonProperty("viot_sip_server_port")
private String viotSipServerPort;
/** 登录用户名,国标摄像头设备返回 */
@JsonProperty("viot_login_name")
private String viotLoginName;
/** 登录密码,国标摄像头设备返回 */
@JsonProperty("viot_login_pwd")
private String viotLoginPwd;
// ===== 视联网千里眼协议设备字段 =====
/** 设备 modelId,如:cmiot_E4702_002 */
@JsonProperty("viot_module_id")
private String viotModuleId;
/** 软件版本,如:2.860.20250512 */
@JsonProperty("viot_camera_app_version")
private String viotCameraAppVersion;
/** 固件版本,如:2.860.20250512 */
@JsonProperty("viot_firmware_version")
private String viotFirmwareVersion;
/** 千里眼设备 imeicmei),如:119094672043670 */
@JsonProperty("viot_imei")
private String viotImei;
// ===== 机卡协同设备上报字段(设备上报后返回) =====
/** 设备上报的 iccid,如:898604310000000000 */
@JsonProperty("up_iccid")
private String upIccid;
/** 设备上报的 msisdn,如:+8613800000000 */
@JsonProperty("up_msisdn")
private String upMsisdn;
/** 设备上报的 sn */
@JsonProperty("up_sn")
private String upSn;
/** 设备上报的 imei,如:119094672043670 */
@JsonProperty("up_imei")
private String upImei;
/** 设备上报的 imsi,如:460010000000000 */
@JsonProperty("up_imsi")
private String upImsi;
/** 设备上报的 mac,如:08:00:27:01:02:03 */
@JsonProperty("up_mac")
private String upMac;
/**
* 设备上报的网络类型
* 0-非蜂窝网;1-移动;2-电信;3-联通;4-广电
*/
@JsonProperty("up_network")
private Integer upNetwork;
}