package com.ltgk.video.domain.dto;

import com.ltgk.common.core.page.BasePage;
import com.ltgk.common.validation.groups.Detail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.util.Date;
/**
 * 监控识别记录历史表 (VideoIdentificationHistory)数据传输对象
 *
 * @author Qi ChengBin
 * @date 2025-02-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "监控识别记录历史表数据传输对象", description = "VideoIdentificationHistory数据传输对象")
public class VideoIdentificationHistoryDTO extends BasePage {
    
    @ApiModelProperty(value = "监控识别记录主键")
    @NotNull(message = "主键信息不能为空", groups = {Detail.class})
    private String id;
    
    @ApiModelProperty(value = "识别类型（船体识别、船号识别）")
    private String identificationType;
    
    @ApiModelProperty(value = "船舶名称")
    private String boatName;
    
    @ApiModelProperty(value = "摄像头名称")
    private String videoName;

    @ApiModelProperty(value = "鱼港名称")
    private String portName;

    @ApiModelProperty(value = "进出港方向（进港、出港）")
    private String entryOut;
    
    @ApiModelProperty(value = "抓拍图片链接")
    private String pictureUrl;
    
    @ApiModelProperty(value = "船牌图片链接")
    private String boatCodePicture;
    
    @ApiModelProperty(value = "抓拍视频链接")
    private String videoUrl;
    
    @ApiModelProperty(value = "抓拍时间")
    private Date takeTime;
    
    @ApiModelProperty(value = "海康识别结果")
    private String hkResult;
    
    @ApiModelProperty(value = "系统识别结果")
    private String sysResult;
    
    @ApiModelProperty(value = "系统识别船名")
    private String sysBoatName;
    
    @ApiModelProperty(value = "系统识别更正船名")
    private String sysUpdateBoatName;
    
    @ApiModelProperty(value = "删除标志: 0-未删除, 1-已删除")
    private Integer delFlag;
    
    @ApiModelProperty(value = "行政区域编码")
    private String areaCode;
    
    @ApiModelProperty(value = "行政区域名称")
    private String areaName;
    
    @ApiModelProperty(value = "创建人")
    private String createBy;
    
    @ApiModelProperty(value = "创建时间")
    private Date createAt;
    
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    
    @ApiModelProperty(value = "更新时间")
    private Date updateAt;
    
    @ApiModelProperty(value = "备注")
    private String remark;
    
    @ApiModelProperty(value = "开始时间")
    private String startTime;

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

