package com.ningdatech.carapi.driver.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ningdatech.carapi.common.constant.BgTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

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

    private static final long serialVersionUID = 498564167561863385L;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @ApiModelProperty("告警图片附件")
    @ExcelProperty("告警图片附件网址")
    private String alarmPictureAppendix;

    @ApiModelProperty("告警视频附件")
    @ExcelProperty("告警视频附件网址")
    private String alarmVideoAppendix;

    @ApiModelProperty("处理状态")
    @ExcelProperty("处理状态")
    private Integer processingStatus;
}
