package com.aegis.cases.domain;

import com.aegis.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 案例实体类 case
 *
 * @author
 */
@Getter
@Setter
@ToString(callSuper = true)
@TableName("`case`")
public class Case extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 案例ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 案例编号 */
    private String caseNo;

    /** 案例标题 */
    private String title;

    /** 事件类型（字典值） */
    private String eventType;

    /** 事件级别（I/II/III/IV） */
    private String eventLevel;

    /** 发生地点 */
    private String location;

    /** 发生时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date occurredTime;

    /** 案例描述 */
    private String description;

    /** 处置摘要 */
    private String disposalSummary;

    /** 标签（逗号分隔） */
    private String tags;

    /** 是否典型案例 */
    private Boolean isTypical;

    /** 查看次数 */
    private Integer viewCount;

    /** 删除标志 */
    private String delFlag;
}

