package com.usky.ai.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BoardPingDTO {
    //当前盒子唯一表示
    @JsonProperty("BoardId")
    private String boardId;

    //当前ip
    @JsonProperty("BoardIp")
    private String boardIp;

    //当前设备硬件类型
    @JsonProperty("BoardPlatform")
    private String boardPlatform;

    //当前设备芯片温度
    @JsonProperty("BoardTemp")
    private String boardTemp;

    //当前设备接入方式 WAN/4G
    @JsonProperty("BoardType")
    private String boardType;

    //GB28181 设备号配置后透传
    @JsonProperty("GBClientId")
    private String gbClientId;

    @JsonProperty("GrantCode")
    private String grantCode;

    @JsonProperty("GrantDesc")
    private String grantDesc;

    //当前设备状态
    @JsonProperty("Key")
    private String key;

    //GPS 信息 部分设备支持
    @JsonProperty("Latitude")
    private String latitude;

    //GPS 信息 部分设备支持
    @JsonProperty("Longitude")
    private String longitude;

    // 当前应用VmRSS信息
    @JsonProperty("Malloc")
    private String malloc;

    //本次应用PID
    @JsonProperty("Pid")
    private String pid;

    //特定设备时透传主控端IP
    @JsonProperty("Se6ip")
    private String se6ip;

    @JsonProperty("Status")
    private String status;

    //当前设备系统版本
    @JsonProperty("System")
    private String system;

    //当前时间戳毫秒
    @JsonProperty("Time")
    private Long time;

    //软件版本
    @JsonProperty("Version")
    private String version;

    //GPS 信息 部分设备支持
    @JsonProperty("angleCourse")
    private String angleCourse;
    @JsonProperty("kSpeed")
    private String kSpeed;
    @JsonProperty("nSpeed")
    private String nSpeed;



    //当前设备硬盘情况kB
    @JsonProperty("HostDisk")
    private JsonNode hostDisk;

    //当前设备内存使用情况
    @JsonProperty("HostMemory")
    private JsonNode hostMemory;

    //当前设备添加的通道信息
    @JsonProperty("Medias")
    private JsonNode medias;

    //当前设备配置的任务信息
    @JsonProperty("Tasks")
    private JsonNode tasks;

    //当前设备的算力资源使用情况
    @JsonProperty("Tpu")
    private JsonNode tpu;
}