package com.yingji.entity;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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


/**
 * (Alarm)表实体类
 *
 * @author wu
 * @since 2024-05-07 14:50:30
 */
@Data
@ApiModel("实体类")
@TableName(value = "alarm")
public class Alarm implements Serializable {

    private static final long serialVersionUID = -61131421311961793L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(type = IdType.AUTO)
    private Long emergencyEventId;


    private Integer emergencyEventSource;


    private Integer emergencyEventStatus;


    private Integer warnResponseStatus;


    private Integer emergencyResponseStatus;


    private String emergencyEventTitle;


    private Integer emergencyEventType;


    private Integer emergencyEventLevel;

    /**
     * 报警时间
     */
    @ApiModelProperty(value = "报警时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime emergencyEventTime;

    /**
     * 报警内容
     */
    @ApiModelProperty(value = "报警内容")
    @Alias("bjnr")
    private String emergencyEventDesc;

    /**
     * 报警地址
     */
    @Alias("sfdd")
    @ApiModelProperty(value = "报警地址")
    private String emergencyEventAddress;


    private String emergencyEventArea;


    private Double emergencyEventLon;


    private Double emergencyEventLat;


    private String submitUnit;


    private String submitUnitContact;


    private String submitUnitTelephone;


    private String reportPerson;


    private String reportPersonTelephone;


    private String remark;


    private String fileUrls;

    /**
     * 是否删除 0未删除 1删除
     */
    @ApiModelProperty(value = "是否删除 0未删除 1删除")
    private Integer delFlag;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 最后更新人
     */
    @ApiModelProperty(value = "最后更新人")
    private String updateBy;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


    private String sendOutTimes;


    private Long groupId;


    private Integer isRehearsal;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "报警电话")
    @Alias("bjdh")
    private String alarmPhoneNumber;

    /**
     * 源id
     */
    @ApiModelProperty(value = "源id")
    private String sourceId;


    private Integer isJudged;


    private String eventDetail;

    /**
     * 预警大类
     */
    @ApiModelProperty(value = "预警大类")
    private String aiClass;

    /**
     * 预警小类
     */
    @ApiModelProperty(value = "预警小类")
    private String aiClass2;

    /**
     * 紧急程度
     */
    @ApiModelProperty(value = "紧急程度")
    private String aiLevel;

    /**
     * 紧急系数
     */
    @ApiModelProperty(value = "紧急系数")
    private Double aiNum;

    /**
     * 120的event_id
     */
    @ApiModelProperty(value = "120的event_id")
    @TableField(value = "ai_120_id")
    private String ai120Id;
}