package com.cico.nest.lcdp.boot.core.qxsd.infrastructure.gatewayimpl.database.dataobject;

import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.cico.nest.lcdp.boot.core.qxsd.domain.vehicle.HistoryTunnelVehicle;
import com.cico.nest.lcdp.framework.mybatis.core.type.StringListTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.checkerframework.checker.units.qual.A;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 历史事件记录表
 * @author zws
 * @date 2024/8/27
 */

@TableName(value = "qxsd_event_his",autoResultMap = true)
@KeySequence("qxsd_event_his_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EventHisDO {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 事件id
     */
    private String eventId;

    /**
     * 车辆入隧时间
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private JSONArray vehicleInTunnelTime;
    /**
     * 历史车辆轨迹
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private JSONArray hisVehicleInfo;

    /**
     * 事件照片
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> eventImagesPath;

    /**
     * 卡口图片
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private JSONArray bayonetImage;

    /**
     * 海康摄像头唯一编码
     */
    private String cameraIndexCode;
    /**
     * 视频路径
     */
    private String videoPath;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

}
