package com.ruoyi.zhdd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 事件基础业务对象 b_incident
 *
 * @author xitong
 * @date 2021-09-28
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("事件基础业务对象")
public class IncidentBo extends BaseEntity {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private String id;

    /**
     * 事件类型
     */
    @ApiModelProperty(value = "事件类型")
    @NotNull(message = "type不能为空", groups = { AddGroup.class })
    private Integer type;

    /**
     * 事件等级
     */
    @ApiModelProperty(value = "事件等级")
    @NotNull(message = "level不能为空", groups = { AddGroup.class })
    private Integer level;

    private List<Integer> levels;

    /**
     * 事件地址
     */
    @ApiModelProperty(value = "事件地址")
    private String addr;

    /**
     * 经纬度
     */
    @ApiModelProperty(value = "经纬度")
    private String locations;

    /**
     * 上报部门
     */
    @ApiModelProperty(value = "上报部门")
    private String createDept;

    /**
     * $column.columnComment
     */
    @ApiModelProperty(value = "$column.columnComment")
    private String delFlag;

    /**
     * 事件来源
     */
    @ApiModelProperty(value = "事件来源")
    private String source;

    /**
     * 事件描述
     */
    @ApiModelProperty(value = "事件描述")
    private String des;

    /**
     * 上传图片地址
     */
    @ApiModelProperty(value = "上传图片地址")
    private String pic;

    /**
     * 上传视频地址
     */
    @ApiModelProperty(value = "上传视频地址")
    private String video;

    /**
     * 拓展1
     */
    @ApiModelProperty(value = "拓展1")
    private String expr1;

    /**
     * 拓展2
     */
    @ApiModelProperty(value = "拓展2")
    private String expr2;

    /**
     * json拓展，用于存取多出的字段
     */
    @ApiModelProperty(value = "json拓展，用于存取多出的字段")
    private String exprJson;

    /**
     * 事件标题
     */
    @ApiModelProperty(value = "事件标题")
    @NotBlank(message = "name不能为空", groups = { AddGroup.class })
    private String name;

    /**
     * 事件状态 1：预警，2：事件 3：归档
     */
    @ApiModelProperty(value = "事件状态 1：预警，2：事件 3：归档")
    private Integer status;

    /**
     * 主办单位
     */
    @ApiModelProperty(value = "主办单位")
    private String madinDept;

    /**
     * 协办单位 多个数据用，分割
     */
    @ApiModelProperty(value = "协办单位 多个数据用，分割")
    private String assistDept;


    /**
     * 分页大小
     */
    @ApiModelProperty("分页大小")
    private Integer pageSize;

    /**
     * 当前页数
     */
    @ApiModelProperty("当前页数")
    private Integer pageNum;

    /**
     * 排序列
     */
    @ApiModelProperty("排序列")
    private String orderByColumn;

    /**
     * 排序的方向desc或者asc
     */
    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
    private String isAsc;

}
