package com.ltgk.boat.domain.dto;

import com.ltgk.common.core.page.BasePage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.solr.common.annotation.JsonProperty;

import java.util.List;

/**
 * @Author: wan kun
 * @Description: 报警列表查询
 * @Date: 2025/3/10 17:04
 * @Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class GetBoatAlarmListReq extends BasePage {

    @JsonProperty(value = "boatName")
    @ApiModelProperty(value = "船名")
    private String boatName;

    @JsonProperty(value = "alarmNature")
    @ApiModelProperty(value = "报警种类，（1是安全报警，2是违规报警）")
    private String alarmNature;

    @JsonProperty(value = "alarmArea")
    @ApiModelProperty(value = "报警区域（涉外报警，或者警戒区，电子围栏报警区域信息）")
    private String alarmArea;

    @JsonProperty(value = "areaNumber")
    @ApiModelProperty(value = "渔船所在区域编码")
    private String areaNumber;

    @JsonProperty(value = "startTime")
    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @JsonProperty(value = "endTime")
    @ApiModelProperty(value = "结束时间")
    private String endTime;

    @JsonProperty(value = "acceptState")
    @ApiModelProperty(value = "受理状态(0为待受理，1为处理中，2为已处理，3为标记结束,4已忽略)")
    private Integer acceptState;

    @JsonProperty(value = "alarmTypeList")
    @ApiModelProperty(value = "报警类型列表")
    private List<String> alarmTypeList;

    @ApiModelProperty(value = "通导设备号")
    private String mmsi;

    @ApiModelProperty(value = "目标源id 目标在设备端的唯一标识 -- 雷达数据使用")
    private String targetSourceId;

    @ApiModelProperty(value = "查询条件仅有疑似三无船只")
    private boolean onlyThreeNoBoat = false;

    @ApiModelProperty(value = "查询条件不包含疑似三无渔船")
    private boolean noThreeNoBoat = false;

    @ApiModelProperty(value = "移动端多个查询")
    private String appQueryParams;
}
