package com.sz.admin.monitor.pojo.dto.cameraalarm;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import com.sz.core.common.entity.PageQuery;

import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * CameraAlarm查询DTO
 * </p>
 *
 * @author Lz
 * @since 2026-02-10
 */
@Data
@Schema(description = "CameraAlarm查询DTO")
public class CameraAlarmListDTO extends PageQuery {

    @Schema(description = "摄像头ID")
    private Long cameraId;

    @Schema(description = "通道号")
    private Integer channelId;

    @Schema(description = "关联的预置位号")
    private Integer presetIndex;

    @Schema(description = "报警类型: 1-移位, 2-遮挡")
    private Integer alarmType;

    @Schema(description = "基准图路径 ")
    private String baseImage;

    @Schema(description = "抓拍图路径")
    private String captureImage;

    @Schema(description = "算法返回的详细JSON")
    private String algoResult;

    @Schema(description = "状态: 0-未处理, 1-已忽略, 2-已修复")
    private Integer status;

    @Schema(description = "处理时间开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTimeStart;

    @Schema(description = "处理时间结束")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTimeEnd;

    @Schema(description = "处理人")
    private String handleBy;

    @Schema(description = "处理备注")
    private String handleRemark;

    @Schema(description = "告警区域id")
    private Long alarmAreaId;

    @Schema(description = "创建时间")
    private LocalDateTime alarmTimeStart;

    @Schema(description = "结束时间")
    private LocalDateTime alarmTimeEnd;

    @Schema(description = "告警区域")
    private String alarmArea;
}