package org.springblade.openinterface.dto.doordevice;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**

 * description: 设备实体类
 */
@Setter
@Getter
public class DoorDevicePushDto implements java.io.Serializable{

    /**
     * 主键
     */
    private Long id;

    /**
     * 删除标记：{ -1：已删除，0：正常 }
     */
    private Integer status;

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

    /**
     * 设备名称（小区名称+单元名称+安装位置+小区设备排序值）
     */
    private String name;

    /**
     * 设备别名
     */
    private String alias;

    /**
     * 小区名称
     */
    private String xqName;

    /**
     * 单元名称
     */
    private String dyName;

    /**
     * 小区设备排序值
     */
    private Integer xqSort;

    /**
     * 设备序列号
     */
    private String serialNumber;

    /**
     * 设备类型：{1：门禁机，2：管理机}
     */
    private Integer typeNumber;

    /**
     * 所在小区Id
     */
    private Long xqId;

    /**
     * 所在单元楼Id
     */
    private Long unitId;

    /**
     * 设备安装位置
     */
    private String installPath;

    /**
     * 安装位置Id
     */
    private Long installPathId;

    /**
     * 设备备注
     */
    private String remark;

    /**
     * 设备使用队列配置Id
     */
    private Long mqId;

    /**
     * 省（id）
     */
    private String regionProvince;

    /**
     * 市（id）
     */
    private String regionCity;

    /**
     * 区（id）
     */
    private String regionArea;

//    /**
//     * 创建人账号Id
//     */
//    private Long createAccountId;

    /**
     * 是否启用时间策略 { 1：启用，2：不启用 }
     */
    private Integer timeStrategyIsEnable;

    /**
     * 紧急开门密码
     */
    private String openDoorPwd;

    /**
     * 用户所属机构的存储位置
     */
    private String orgPosition;

    /**     * 用户所属物业的存储位置
     */
    private String estatePosition;

    /**
     * 所属根机构Id
     */
    private Long rootOrgId;

    /**
     * 跟组织机构名称
     */
    private String rootOrgName;

    /**
     * 设备朝向{ 1：进,2：出 }
     */
    private Integer isOut;

    /**
     * 最后一次心跳时间
     */
    private Long lastHeartbeat;

    /**
     * 设备厂商
     */
    private String deviceFactory;

    /**
     * 设备类型
     */

    /**
     * 设备版本号（数值）
     */
    private String versionNumber;

    /**
     * 管理密码
     */
    private String adminPwd;

    /**
     * 网络类型
     */
    private String networkType;

    /**
     * 网络信号
     */
    private String networkSignal;

    /**
     * 流量卡id
     */
    private Long flowCardId;

    private String oldId;


    /* 设备配置 ------------------------------------------------------------------------------------------------------ */


    /**
     * 设备型号
     */
    private String deviceModelNumber;

    /**
     * 设备尺寸
     */
    private String size;

    /**
     * 通话音量 { 0--100 }
     */
    private Integer callVolume;

    /**
     * 广告音量 { 0--100 }
     */
    private Integer adVolume;

    /**
     * 屏幕亮度 { 0--100 }
     */
    private Integer screenBrightness;

    /**
     * 设备开门时长
     */
    private Integer delay;

    /**
     * 是否显示住户名称 : { 1：显示，2：不显示 }
     */
    private Integer isShowUsername;

    /**
     * 是否支持门禁卡功能：
     *  1：支持
     *  2：不支持
     */
    private Integer haveCard;
    private Integer haveKeyboard;
    private Integer haveAd;

    /**
     * 是否支持人脸识别：
     *  1：支持
     *  2：不支持
     */
    private Integer haveFace;

    /**
     * 是否支持视频通话：
     *  1：支持
     *  2：不支持
     */
    private Integer haveCall;

    /**
     * 是否支持一键重启：
     *  1：支持
     *  2：不支持
     */
    private Integer reboot;

    /**
     * 人脸识别度 { 0--100 }
     */
    private Integer faceResolution;

    /**
     * 补光灯亮度 { 0--100 }
     */
    private Integer fillLight;

    /**
     * 石头开启活体检测,默认开启
     * 1 就是开启,0 就是关闭
     */
    private Integer liveDetect;

    /**
     * 识别框位置：{ 1：左上角，2：左下角，3：中间位置，4：右下角 }
     */
    private Integer discernBoxPosition;

    /**
     * 广告轮播模式
     */
    private Integer playModel;
    /* -------------------------------------------------------------------------------------------------------------- */


    /**
     * 设备在线状态：{ 0：离线，1：在线 }
     */
    private Integer onlineStatus;



}
