package cn.cecep.talroad.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigInteger;
import java.util.Date;

@ApiModel(value = "预警报警信息-视频监控数据entity")
@Data
@TableName("m_am_problem_fi_video")
public class AmProblemFiVideo {


    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "问题表m_am_problem_fi主键")
    private String problemId;

    @ApiModelProperty(value = "视频截图时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date videoTime;

    @ApiModelProperty(value = "视频截图路径")
    private String videoPath;

    @ApiModelProperty(value = "回放的视频id。关联m_am_video_dev_fi表id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigInteger videoDevFiId;

    @ApiModelProperty(value = "视频回放开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "视频回放结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @ApiModelProperty(value = "视频分析结果 1正常、2有人员/有无组织排放（分别对应人员闯入和无组织排放） 、3 黑屏、4白屏、 5花屏  、6无信号")
    private String judgeResult;

    @ApiModelProperty(value = "算法名称")
    private String modelName;

    @ApiModel(value = "预警报警信息-视频监控数据vo")
    @Data
    public static class Vo {
        @ApiModelProperty(value = "摄像头ID")
        private String devId;

        @ApiModelProperty(value = "摄像头名称")
        private String devName;

        @ApiModelProperty(value = "设备来源")
        private String devSource;

        @ApiModelProperty(value = "视频回放开始时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date startTime;

        @ApiModelProperty(value = "视频回放结束时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date endTime;

        @ApiModelProperty(value = "视频截图路径")
        private String videoPath;

        @ApiModelProperty(value = "视频截图时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date videoTime;
    }

}
