package com.zcxk.rmcp.api.dto.device;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author heyumin
 * @version 1.0
 * @date 2021/8/23 9:37
 */
@Data
public class DeviceSyncDto {
    @ApiModelProperty(value = "主键", position = 1)
    Long id ;
    @NotNull(message = "{device.no.notBlank}" )
    @ApiModelProperty(value = "节点编号", position = 2)
    String deviceNo ;

    @NotNull(message = "{device.productCategoryId.notBlank}" )
    @ApiModelProperty(value = "产品分类ID", position = 3)
    Integer productCategoryId;

    @ApiModelProperty(value = "产品分类名称", position = 4)
    String productCategoryName ;

    @NotNull(message = "{device.productId.notBlank}" )
    @ApiModelProperty(value = "产品ID", position = 3)
    Integer productId;

    @ApiModelProperty(value = "产品名称", position = 4)
    String productName ;

    @ApiModelProperty(value = "站点Id", position = 5)
    @NotNull(message = "{device.siteId.notBlank}" )
    Integer siteId;

    @ApiModelProperty(value = "站点名称", position = 6)
    String siteName ;

    @NotNull(message = "{device.channelId.notBlank}" )
    @ApiModelProperty(value = "场景ID", position = 7)
    Integer channelId ;

    @ApiModelProperty(value = "场景名称", position = 8)
    String channelName ;

    @ApiModelProperty(value = "省编码", position = 9)
    Integer provinceId ;
    @ApiModelProperty(value = "省名称", position = 10)
    String provinceName ;


    @ApiModelProperty(value = "市编码", position = 11)
    Integer cityId ;
    @ApiModelProperty(value = "市名称", position = 12)
    String cityName ;


    @ApiModelProperty(value = "区编码", position = 13)
    Integer regionId ;
    @ApiModelProperty(value = "区名称", position = 14)
    String regionName ;


    @ApiModelProperty(value = "小区ID", position = 15)
    Integer communityId ;
    @ApiModelProperty(value = "小区名称", position = 16)
    String communityName ;


    @ApiModelProperty(value = "建筑ID", position = 17)
    Integer buildingId;
    @ApiModelProperty(value = "建筑名称", position = 18)
    String buildingName ;
    @ApiModelProperty(value = "建筑单元", position = 19)
    String buildingUnit ;
    @ApiModelProperty(value = "建筑楼层", position = 20)
    Integer floor ;


    @ApiModelProperty(value = "详细安装地址", position = 21)
    String locationDesc ;


    @ApiModelProperty(value = "客户ID", position = 22)
    Integer customerId;
    @ApiModelProperty(value = "客户名称", position = 23)
    String customerName ;


    @ApiModelProperty(value = "项目ID", position = 24)
    Integer projectId ;
    @ApiModelProperty(value = "项目名称", position = 25)
    String projectName ;


    @ApiModelProperty(value = "厂商ID", position = 26)
    Integer manufacturerId;

    @ApiModelProperty(value = "厂商名称", position = 27)
    String manufacturerName ;

    @ApiModelProperty(value = "型号", position = 28)
    String productModel ;


    @ApiModelProperty(value = "设备状态  1:正常 2:故障 3:无 4: 预警 5:未启用", position = 29)
    Integer deviceStatus ;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最新数据接收时间", position = 30)
    Date lastReceiveTime ;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "安装时间", position = 31)
    Date installTime ;


    @ApiModelProperty(value = "状态", position = 32)
    Integer status;

    @ApiModelProperty(value = "经度", position = 33)
    Double longitude ;

    @ApiModelProperty(value = "纬度", position = 34)
    Double latitude ;

    @ApiModelProperty(value = "创建人", position = 35)
    String createBy ;

    @ApiModelProperty(value = "更新人", position = 36)
    String updateBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", position = 37)
    Date dateCreate ;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间", position = 38)
    Date dateUpdate = new Date();
    //数据库操作类型
    String operationType;

}
