package com.tofly.pojo.maintain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@ApiModel
public class DispatchVo extends Model<DispatchVo> {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id",type= IdType.ASSIGN_ID)
    @ApiModelProperty(value = "")
    private Integer id;
    /**
     * 处理人
     */
    @ApiModelProperty(value = "处理人")
    private String majorHandler;
    @ApiModelProperty(value = "处理人名称")
    private String majorHandlerName;
    @ApiModelProperty(value = "接收人 包含用户id  用户名称 用户电话")
    private UserViewVo majorUserHandle;


    /**
     *协同处理人
     */
    @ApiModelProperty(value = "协同处理人")
    private String collaborateHanler;

    private List<UserViewVo> collaborateHandlers;
    /**
     * 消息
     */
    @ApiModelProperty(value = "消息")
    private String message;
    /**
     * 是否发送短信 0false 1true
     */
    @ApiModelProperty(value = "是否发送短信 0false 1true")
    private Boolean isPush;
    /**
     * 上报时间
     */
    @ApiModelProperty(value = "上报时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_TIME",fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 上报人
     */
    @ApiModelProperty(value = "上报人")
    private BigDecimal createUserid;
    /**
     *
     */
    @ApiModelProperty(value = " 1待处理  2正在处理  3 已处理 ")
    private String status;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String delFlag;
    /**
     * 1事件管理 2汛情管理
     */
    @ApiModelProperty(value = "1事件管理 2汛情管理")
    private String type;
    @ApiModelProperty(value = "资源id  如事件上报的id  或者汛情上报的id 根据type来区分")
    private Long sourceId;
    @ApiModelProperty(value = "type 为1 事件上报信息")
    private  EventMangeVo eventMangeVo;
    @ApiModelProperty(value = "type 为2 汛情管理信息")
    private FloodSeasonWVo floodSeasonWVo;

    @ApiModelProperty(value = "处理详情")
    private String resolveDetail;

    @ApiModelProperty(value = "处理时间")
    private Date resolveDate;


    @ApiModelProperty(value = "处理上传文件")
    private String resolveFileIds;
    @ApiModelProperty(value = "文件路径列表")
    List<String> filePathList;
}
