package com.yuchen.saas.integration.hik.isc.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel(value = "CameraDeviceVO", description = "CameraDeviceVO")
public class CameraDeviceVO {

    @ApiModelProperty(name = "id", value = "id")
    private Long id;

    /**
     * 锐视佳摄像头id/分组i
     */
    @ApiModelProperty(name = "cid", value = "锐视佳摄像头id/分组id")
    private String cid;

    /**
     * 锐视佳父级id
     */
    @ApiModelProperty(name = "pid", value = "锐视佳父级id")
    private String pid;

    /**
     * 设备名称/分组名称
     */
    @ApiModelProperty(name = "deviceName", value = "设备名称/分组名称")
    private String deviceName;

    /**
     * 通道号
     */
    @ApiModelProperty(name = "channelNo", value = "通道号")
    private Integer channelNo;

    /**
     * 设备编码
     */
    @ApiModelProperty(name = "gbid", value = "设备编码")
    private String gbid;

    /**
     * 节点类别, group - 设备组，cam - 摄像机
     */
    @ApiModelProperty(name = "cat", value = "节点类别, group - 设备组，cam - 摄像机")
    private String cat;

    /**
     * 场站id
     */
    @ApiModelProperty(name = "siteId", value = "场站id")
    private Long siteId;

    /**
     * 客户id
     */
    @ApiModelProperty(name = "customerId", value = "客户id")
    private Long customerId;

    /**
     * 父级id
     */
    @ApiModelProperty(name = "parentId", value = "父级id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long parentId;

    @ApiModelProperty(name = "是否在线：true在线，false离线")
    private Boolean online;


    /**
     * 地址
     */
    @ApiModelProperty(name = "deviceAddress", value = "地址")
    private String deviceAddress;

    /**
     * 项目id
     */
    @ApiModelProperty(name = "projectId", value = "项目id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long projectId;

    /**
     * 所属产品
     */
    @ApiModelProperty(name = "productKey", value = "所属产品")
    private String productKey;


    /**
     * 设备编码（对应设备中心的deviceName）
     */
    @ApiModelProperty(name = "deviceNo", value = "设备编码（对应设备中心的deviceName）")
    private String deviceNo;


    /**
     * 设备类型名称
     */
    @ApiModelProperty(name = "deviceTypeName", value = "设备类型名称")
    private String deviceTypeName;


    /**
     * 设备类型id
     */
    @ApiModelProperty(name = "deviceTypeId", value = "设备类型id")
    private String deviceTypeId;


    /**
     * 设备图片地址
     */
    @ApiModelProperty(name = "deviceImages", value = "设备图片地址")
    private String deviceImages;


    /**
     * 监控类型（1：AI监控，2：普通监控）
     */
    @ApiModelProperty(name = "monitorType", value = "监控类型（1：AI监控，2：普通监控）")
    private String monitorType;

}
