package com.zksy.visualization.domain.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author Administrator
 * @version 1.0
 * @project dh-server-micro
 * @description 事件分页查询
 * @date 2025/1/17 10:59:16
 */
@Data
public class EventStatisticsPageRequest {
    @ApiModelProperty(value = "当前页", required = true)
    private Integer pageNum;

    @ApiModelProperty(value = "每页记录数", required = true)
    private Integer pageSize;

    @ApiModelProperty(value = "排序字段", allowableValues = "alarmDate,handleUser,handleDate,orgName,alarmPosition")
    private String sort;

    @ApiModelProperty(value = "排序方式", allowableValues = "ASC,DESC")
    private String sortType;

    @ApiModelProperty(value = "报警状态", allowableValues = "1,2")
    private Integer alarmStat;

    @ApiModelProperty(value = "报警处理状态", example = "[1,2,3,4,0]")
    private List<Integer> handleStatList;

    @ApiModelProperty(value = "所属组织编码", example = "[\"code1\",\"code2\"]")
    private List<String> orgCodeList;

    @ApiModelProperty(value = "设备编码或通道编码", example = "[\"nodeCode1\",\"nodeCode2\"]")
    private List<String> nodeCodeList;

    @ApiModelProperty(value = "报警开始时间", example = "yyyy-MM-dd HH:mm:ss")
    private String alarmStartDateString;

    @ApiModelProperty(value = "报警结束时间", example = "yyyy-MM-dd HH:mm:ss")
    private String alarmEndDateString;

    @ApiModelProperty(value = "处理开始时间", example = "yyyy-MM-dd HH:mm:ss")
    private String handleStartDateString;

    @ApiModelProperty(value = "处理结束时间", example = "yyyy-MM-dd HH:mm:ss")
    private String handleEndDateString;

    @ApiModelProperty(value = "事件类型列表", example = "[1,2,3]")
    private List<Integer> alarmTypeList;

    @ApiModelProperty(value = "事件类型", allowableValues = "枚举参考报警类型")
    private Integer alarmType;

    @ApiModelProperty(value = "设备大类", allowableValues = "枚举参考设备大类")
    private Integer deviceCategory;

    @ApiModelProperty(value = "报警预案标识", allowableValues = "0,1")
    private Integer isEvent;

    @ApiModelProperty(value = "报警等级", example = "[1,2,3]")
    private List<Integer> alarmGradeList;

    @ApiModelProperty(value = "语言", example = "zh-cn")
    private String language;

    @ApiModelProperty(value = "查询类型", allowableValues = "0,1")
    private Integer dbType;
}
