package com.ningdatech.carapi.open.model.dto;

import com.ningdatech.openapi.signature.model.AbstractOpenApiSignatureReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @Classname AlarmDataPicture
 * @Description
 * @Date 2022/10/28 10:47
 * @Created by PoffyZhang
 */
@Data
@ApiModel(value = "AlarmDataPicture", description = "告警数据 图片保存")
@NoArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@AllArgsConstructor
public class AlarmDataPictureDTO extends AbstractOpenApiSignatureReq{

    private static final long serialVersionUID = 1L;

    /**
     *设备上报图片ID
     */
    @ApiModelProperty("设备上报图片ID")
    @NotBlank(message = "设备上报图片ID不能为空")
    private String originPicId;

    /**
     *车辆编号
     */
    @ApiModelProperty("车辆编号")
    private String vehicleIndexCode;

    /**
     *车辆自编号
     */
    @ApiModelProperty("车辆自编号")
    private String vehicleSelfNo;

    /**
     *监控点编号
     */
    @ApiModelProperty("监控点编号")
    private String cameraIndexCode;

    /**
     *监控点名称
     */
    @ApiModelProperty("监控点名称")
    private String cameraName;

    /**
     *上传类型
     */
    @ApiModelProperty("上传类型 2:报警")
    private Integer uploadType;

    /**
     * 告警ID
     */
    @ApiModelProperty("告警ID")
    @NotBlank(message = "告警ID不能为空")
    private String alarmId;

    /**
     * 事件类型
     */
    @ApiModelProperty("事件类型")
    private String alarmType;

    /**
     * 事件类型名
     */
    @ApiModelProperty("事件类型名 如:接打电话")
    private String alarmTypeName;

    /**
     * 抓拍时间
     */
    @ApiModelProperty("抓拍时间")
    @NotNull(message = "抓拍时间不能为空")
    private String captureTime;

    /**
     * 图片地址
     */
    @ApiModelProperty("图片地址")
    @NotBlank(message = "图片地址不能为空")
    private String url;

    /**
     * 缩略图地址
     */
    @ApiModelProperty("缩略图地址")
    private String thumbUrl;

    /**
     * 本图片所关联的抓拍图片的唯一标识
     */
    @ApiModelProperty("本图片所关联的抓拍图片的唯一标识")
    private String parentPicId;

    /**
     * 人脸小图在关联的抓拍图片上的坐标
     */
    @ApiModelProperty("人脸小图在关联的抓拍图片上的坐标")
    private String faceRect;

    /**
     * 图片类型
     */
    @ApiModelProperty("图片类型 可选项，0x01标识可见光，0x02标识热成像，若没有，则默认为可见光")
    private String picType;

    /**
     * 车牌号
     */
    @ApiModelProperty("车牌号")
    @NotBlank(message = "车牌号不能为空")
    private String plateNo;

    /**
     * 区域编码
     */
    @ApiModelProperty("区域编码")
    private String regionIndexCode;

    /**
     * 区域名称
     */
    @ApiModelProperty("区域名称")
    private String regionName;
}
