/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 大恒泰山系统
 * 创建日期:2024/1/19
 */
package org.springblade.modules.warn.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.modules.warn.entity.InsideWarnInfoEntity;
import org.springblade.modules.warn.entity.OutsideWarnInfoEntity;
import org.springblade.modules.warn.entity.WarnResponseInfoEntity;
import org.springframework.format.annotation.DateTimeFormat;

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

/***
 * Date:2024/1/19
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class WarnDetailInfoVO extends BaseEntity {

    @ApiModelProperty("预警编码")
    private String warnId;

    @ApiModelProperty("预警发生时间")
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    private Date warnTime;

    @ApiModelProperty("预警名称")
    private String warnName;

    @ApiModelProperty("预警信息")
    private String warnInfo;

    /**
     * 内部预警信息
     */
    @ApiModelProperty("内部预警信息")
    private List<InsideWarnInfoEntity> insideWarnInfoList;

    /**
     * 0 没有，1 有
     */
    @ApiModelProperty("是否有外部预警")
    private Integer ousideWarnStatus;

    /**
     * 外部预警时间
     */
    @ApiModelProperty("外部预警时间")
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    private Date extTime;

    /**
     * 外部预警信息
     */
    @ApiModelProperty("外部预警信息")
    private List<OutsideWarnInfoEntity> outsideWarnInfoList;


    /**
     * 0 没有，1 有
     */
    @ApiModelProperty("是否有预警响应")
    private Integer warnResponseStatus;

    /**
     * 预警响应时间
     */
    @ApiModelProperty("预警响应时间")
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    private Date replyTm;

    /**
     * 预警响应信息
     */
    @ApiModelProperty("预警响应信息")
    private List<WarnResponseInfoEntity> warnResponseInfoList;
}
