package com.zksy.api.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.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 案件信息表
 * @TableName case_info
 */
@TableName(value = "case_info", schema = "app_user")
@Data
@ApiModel(value = "案件信息入参", description = "案件信息入参")
public class CaseInfo implements Serializable {

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

    /**
     * 案件ID
     */
    @ApiModelProperty(value = "案件ID")
    @TableId(type = IdType.AUTO)
    private Long caseId;

    /**
     * 案件编号
     */
    @ApiModelProperty(value = "案件编号")
    private String caseNo;

    /**
     * 关联报警ID，手动立案可为空
     */
    @ApiModelProperty(value = "报警ID")
    private String alarmId;

    /**
     * 关联设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    /**
     * 设备编码
     */
    @ApiModelProperty(value = "设备编码")
    private String deviceCode;

    /**
     * 案件等级：1-严重 2-一般 3-轻微
     */
    @ApiModelProperty(value = "案件等级：1-严重 2-一般 3-轻微")
    private Integer caseLevel;

    /**
     * 案件描述
     */
    @ApiModelProperty(value = "案件描述")
    private String caseDesc;

    /**
     * 案件来源：1-系统自动报警 2-运维巡检上报 3-人工投诉上报 4-平台录入
     */
    @ApiModelProperty(value = "案件来源：1-系统自动报警 2-运维巡检上报 3-人工投诉上报 4-平台录入")
    private Integer caseSource;

    /**
     * 案件状态：1-待核查 2-办理中 3-已办结 4-误报关闭
     */
    @ApiModelProperty(value = "案件状态：1-待核查 2-办理中 3-已办结 4-误报关闭")
    private Integer caseStatus;

    /**
     * 立案人ID
     */
    @ApiModelProperty(value = "立案人ID")
    private Long fileUser;

    /**
     * 核查人ID
     */
    @ApiModelProperty(value = "核查人ID")
    private Long verifyUser;

    /**
     * 核查完成时间
     */
    @ApiModelProperty(value = "核查完成时间")
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date verifyTime;

    /**
     * 案件办结时间
     */
    @ApiModelProperty(value = "案件办结时间")
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date finishTime;

    /**
     * 案件处置结果、整改说明
     */
    @ApiModelProperty(value = "案件处置结果")
    private String handleResult;

    /**
     * 案件佐证图片、附件地址
     */
    @ApiModelProperty(value = "案件佐证图片、附件地址")
    private String attachUrl;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;
}