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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

import cn.idev.excel.annotation.ExcelIgnore;
import cn.idev.excel.annotation.ExcelProperty;
import com.sz.excel.annotation.DictFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * CameraAlarm返回vo
 * </p>
 *
 * @author Lz
 * @since 2026-02-10
 */
@Data
@Schema(description = "CameraAlarm返回vo")
public class CameraAlarmVO {

    @ExcelIgnore
    @Schema(description = "主键")
    private Long id;
    @ExcelProperty(value = "摄像头名称")
    @Schema(description = "摄像头名称")
    private String cameraName;
    @ExcelProperty(value = "摄像机编号")
    @Schema(description = "摄像机编号")
    private String cameraNo;
    @ExcelProperty(value = "摄像头ID")
    @Schema(description = "摄像头ID")
    private Long cameraId;

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

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

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

    @ExcelProperty(value = "报警类型: 1-移位, 2-遮挡")
    @DictFormat(dictType = "alarm_type")
    @Schema(description = "报警类型: 1-移位, 2-明烟明火报警,3-人脸识别,4-脸部抓拍,5-安全帽检测")
    private Integer alarmType;

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

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

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

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

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

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

    @ExcelProperty(value = "")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "")
    private LocalDateTime createTime;

}