package com.ningdatech.carapi.driver.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ningdatech.carapi.common.constant.BgTypeEnum;
import com.ningdatech.carapi.common.model.FileBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author CMM
 * @Classname SecurityMonitorJoin
 * @Description
 * @Date 2022/11/6 20:59
 */
@Data
public class BehaviourAnalysisVO implements Serializable {

    private static final long serialVersionUID = 4403907708033803066L;

    @ApiModelProperty("告警事件id")
    private Long id;

    @ApiModelProperty("区域ID")
    private Long regionId;

    @ApiModelProperty("区域名")
    private String regionName;

    @ApiModelProperty("公司ID")
    private Long companyId;

    @ApiModelProperty("公司名")
    private String companyName;

    @ApiModelProperty("车牌号")
    private String carPlate;

    @ApiModelProperty("驾驶员姓名")
    private String driverName;

    @ApiModelProperty("驾驶员ID")
    private Long driverId;

    /**
     * {@link BgTypeEnum}
     */
    @ApiModelProperty("告警类型")
    private Integer alarmType;

    @ApiModelProperty("告警类型名称")
    private String alarmTypeName;

    @ApiModelProperty(value = "告警级别",allowableValues = "1 预警，2 报警")
    private Integer alarmLevel;

    @ApiModelProperty("告警级别名称")
    private String alarmLevelName;

    @ApiModelProperty("车辆速度")
    private BigDecimal speed;

    @ApiModelProperty("告警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;

    @ApiModelProperty("告警地址")
    private String alarmAddress;

    @ApiModelProperty("告警图片|视频附件")
    private List<FileBasicInfo> alarmAppendix;

    @ApiModelProperty(value = "处理状态",allowableValues = "0 待处理,1 已处理")
    private Integer processingStatus;

    @ApiModelProperty(value = "督办状态",allowableValues = "0 待督办,1 已督办")
    private Integer overseeStatus;
}
