package com.sptg.device.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sptg.common.core.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * title: DevicePath
 * package: com.sptg.device.api.entity
 * description: 设备位置
 *
 *
 *
 */
@Getter
@Setter
@TableName(value = "device_remote_info")
public class DeviceRemoteInfo implements java.io.Serializable {

    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.ID_WORKER)
    private Long id;

    /**
     * 删除标记：{ -1：已删除，0：正常 }
     */
    @TableField(value = "i_status")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField(value = "t_create_date")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createDate;

    /**
     * 创建时间
     */
    @TableField(value = "t_update_date")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateDate;

    /**
     * 设备序列号
     */
    @TableField(value = "s_serial_number", strategy = FieldStrategy.IGNORED)
    private String serialNumber;

    /**
     * 人脸识别度 { 0~100 }
     */
    @TableField(value = "s_face_threshold", strategy = FieldStrategy.IGNORED)
    private String faceThreshold;

    /**
     * 是否开启活体检测
     * 1、开启
     * 2、闭关
     */
    @TableField(value = "s_live_detect", strategy = FieldStrategy.IGNORED)
    private String liveDetect;

    /**
     * 是否定时开/关屏
     * 1、开启
     * 2、关闭
     */
    @TableField(value = "s_timing_open_screen", strategy = FieldStrategy.IGNORED)
    private String timingOpenScreen;

    /**
     * 远程设备IP
     */
    @TableField(value = "s_remote_ip", strategy = FieldStrategy.IGNORED)
    private String remoteIp;

    /**
     * 远程设备端口号
     */
    @TableField(value = "s_remote_port", strategy = FieldStrategy.IGNORED)
    private String remotePort;

    /**
     * 硬盘空间使用率
     * 整数
     */
    @TableField(value = "s_disk_space_usage", strategy = FieldStrategy.IGNORED)
    private String diskSpaceUsage;

    /**
     * CPU温度
     */
    @TableField(value = "s_cpu_temperature", strategy = FieldStrategy.IGNORED)
    private Integer cpuTemperature;

    /**
     * 流量卡IMEI码
     */
    @TableField(value = "s_imei", strategy = FieldStrategy.IGNORED)
    private String imei;

    /**
     * 摄像头型号
     */
    @TableField(value = "s_camera_model", strategy = FieldStrategy.IGNORED)
    private String cameraModel;

    /**
     * 设备上门禁卡总数
     */
    @TableField(value = "s_card_total", strategy = FieldStrategy.IGNORED)
    private String cardTotal;

    /**
     * 设备上人脸总数
     */
    @TableField(value = "s_face_total", strategy = FieldStrategy.IGNORED)
    private String faceTotal;

    /**
     * 屏幕亮度
     */
    @TableField(value = "s_screen_brightness", strategy = FieldStrategy.IGNORED)
    private String screenBrightness;

    /**
     * 恢复包版本号
     */
    @TableField(value = "s_restore_pkg_version", strategy = FieldStrategy.IGNORED)
    private String restorePkgVersion;


    /**
     * 当前设备升级包的版本号
     */
    @TableField(value = "s_pkg_version", strategy = FieldStrategy.IGNORED)
    private String pkgVersion;

    /**
     * 设备禁用信息
     * 0：无禁用
     * 1：禁用了整个设备
     * 2：禁用了刷脸开门
     * 3：禁用了门禁卡开门
     * 4：禁用了密码开门
     * 5：禁用了远程开门
     * 6：禁用了设备按键
     * 7：禁用了广告播放
     * 禁用多项时，用“-”连接，比如2-3
     */
    @TableField(value = "s_disable_info", strategy = FieldStrategy.IGNORED)
    private String disableInfo;

    /**
     * 设备音量大小
     */
    @TableField(value = "s_volume", strategy = FieldStrategy.IGNORED)
    private String volume;
}
