package com.yuchen.saas.park.api.entity.device;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkunion.park.service.common.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author 刘通
 * @date 2020/12/12 21:38
 */
@Data
@TableName("pmg_bat_smart_equipment")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "智慧消防设备信息对象", description = "智慧消防设备信息表")
public class PmgBatSmartEquipment extends BasicEntity {

    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
    private String productKey;

    /**
     * 设备名字
     */
    @ApiModelProperty(value = "设备名字")
    private String deviceName;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    private String name;

    /**
     * 设备类型
     */
    @ApiModelProperty(value = "设备类型")
    private Integer equipmentType;

    /**
     * imgSrc
     */
    @ApiModelProperty(value = "安装位置图片")
    private String imgSrc;

    /**
     * 安装位置
     */
    @ApiModelProperty(value = "安装位置")
    private String setPosition;

    /**
     * 设备点位
     */
    @ApiModelProperty(value = "设备类型")
    private String siteId;

    /**
     * 设备分类唯一ID
     */
    @ApiModelProperty(value = "设备分类唯一ID")
    private String categoryCode;

    /**
     * 设备分类名字
     */
    @ApiModelProperty(value = "设备分类名字")
    private String categoryName;

    /**
     * 设备是否在线(1:在线，0:离线)
     */
    @ApiModelProperty(value = "设备是否在线(1:在线，0:离线)")
    private Integer isOnline;

    /**
     * 设备心跳时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "设备心跳时间")
    private Date heartbeatTime;

    /**
     * 所属模块
     */
    @ApiModelProperty(value = "所属模块")
    private String module;

    /**
     * 设备位置
     */
    @ApiModelProperty("楼栋id")
    private Long buildingId;
    /**
     * 设备位置
     */
    @ApiModelProperty("楼层id")
    private Long floorId;
    /**
     * 设备位置
     */
    @ApiModelProperty("房间id")
    private Long roomId;

    /**
     * 设备位置(点位信息)
     */
    @ApiModelProperty("点位id")
    private Long pointId;

    /**
     * 设备位置(平面位置信息)
     */
    @ApiModelProperty("设备位置(平面位置信息)")
    private String planePosition;
    /**
     * 部件状态，0：未注册 1：正常 2: 修复中 3：异常状态（修复中状态目前没用到，未注册时设备没有在离线状态） 空-所有状态
     */
    @ApiModelProperty("海康isc资源部件状态")
    private Integer unitStatus;
    /**
     * 设备地址码
     */
    @ApiModelProperty("海康isc资源设备地址码")
    private String addressCode;

    /**
     * 海康isc资源唯一标识
     */
    @ApiModelProperty("海康isc资源唯一标识")
    private String indexCode;
    /**
     * 设备分类id
     */
    @ApiModelProperty("设备分类id")
    private Long categoryId;
    /**
     * 设备是否被分类关联:0是未关联,1是已关联
     */
    @ApiModelProperty("设备是否被分类关联:0是未关联,1是已关联")
    private Integer categoryRel;

}