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.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 隧道设施 DO
 *
 * @author 管理员
 */
@TableName(value = "qxsd_tunnel_facility",autoResultMap = true)
@KeySequence("qxsd_tunnel_facility_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TunnelFacilityDO{

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 设施名称
     */
    private String facilityName;

    /**
     * 设施编码
     */
    private String facilityEncode;

    /**
     * 所属路段
     */
    private String belongSections;
    /**
     * 管理中心
     */
    private String managementCenter;
    /**
     * 隧道所
     */
    private String tunnelDept;
    /**
     * 隧道类型 0双洞双向1单洞双向2单洞单向
     */
    private Integer tunnelType;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 上下路
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private TunnelHoleV1DO uplinkRoad;
    /**
     * 下行路
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private TunnelHoleV1DO downlinkRoad;
    /**
     * 横通道
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private JSONArray horizontalChannel;

    /**
     * 启用  0启用
     */
    private Integer enable;

    /**
     * 创建人
     */
    private String createBy;
    /**
     * 更新人
     */
    private String updateBy;

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

    /**
     * 更新时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;

}