package com.zksy.base.warning.domain;

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.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@TableName(value = "warning_archive", schema = "app_user")
@Api(value = "预警归档")
@Data
public class WarningArchive implements Serializable {

    @TableId(value = "archive_id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty("归档ID")
    private String archiveId;

    @TableField("warning_id")
    @ApiModelProperty("预警ID")
    private String warningId;

    @TableField("archive_no")
    @ApiModelProperty("归档编号")
    private String archiveNo;

    @TableField("warning_no")
    @ApiModelProperty("预警编号")
    private String warningNo;

    @TableField("warning_name")
    @ApiModelProperty("预警名称")
    private String warningName;

    @TableField("warning_type")
    @ApiModelProperty("预警类型")
    private String warningType;

    @TableField("warning_level")
    @ApiModelProperty("预警级别")
    private String warningLevel;

    @TableField("location")
    @ApiModelProperty("预警位置")
    private String location;

    @TableField("longitude")
    @ApiModelProperty("经度")
    private Double longitude;

    @TableField("latitude")
    @ApiModelProperty("纬度")
    private Double latitude;

    @TableField("ownership_unit")
    @ApiModelProperty("权属单位")
    private String ownershipUnit;

    @TableField("publisher")
    @ApiModelProperty("发布人")
    private String publisher;

    @TableField("publish_time")
    @ApiModelProperty("发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime publishTime;

    @TableField("handler")
    @ApiModelProperty("处置人")
    private String handler;

    @TableField("warning_content")
    @ApiModelProperty("预警内容")
    private String warningContent;

    @TableField("archive_content")
    @ApiModelProperty("归档内容")
    private String archiveContent;

    @TableField("archive_status")
    @ApiModelProperty("归档状态")
    private String archiveStatus;

    @TableField("create_by")
    @ApiModelProperty("创建人")
    private String createBy;

    @TableField("create_time")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
