package com.citygis.web.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * ETL数据资源信息表
 * </p>
 *
 * @author citygis
 * @since 2025-01-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("TAB_ETL")
@ApiModel(value="TabEtl对象", description="ETL数据资源信息表")
public class TabEtl implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableField("ID")
    @TableId(value = "ID",type = IdType.ASSIGN_UUID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "表名（英文）")
    @TableField("TABLE_ENGLISH_NAME")
    private String tableEnglishName;

    @ApiModelProperty(value = "表名")
    @TableField("TABLE_NAME")
    private String tableName;

    @ApiModelProperty(value = "表描述")
    @TableField("TABLE_DETAIL")
    private String tableDetail;

    @ApiModelProperty(value = "库")
    @TableField("STOREHOUSE")
    private String storehouse;

    @ApiModelProperty(value = "编目状态")
    @TableField("CATALOG_STATUS")
    private String catalogStatus;

    @ApiModelProperty(value = "应用场景")
    @TableField("SCENARIO")
    private String scenario;

    @ApiModelProperty(value = "提供方式")
    @TableField("ACCRSS_TYPE")
    private String accrssType;

    @ApiModelProperty(value = "接收方式")
    @TableField("OFFER_TYPE")
    private String offerType;

    @ApiModelProperty(value = "提供url")
    @TableField("ACCESS_URL")
    private String accessUrl;

    @ApiModelProperty(value = "接收url")
    @TableField("OFFER_URL")
    private String offerUrl;

    @ApiModelProperty(value = "六统一url")
    @TableField("LIUTONGYI_URL")
    private String liutongyiUrl;

    @ApiModelProperty(value = "调用频率")
    @TableField("APPLY_COUNT")
    private String applyCount;

    @ApiModelProperty(value = "每次请求数量")
    @TableField("COUNT_NUM")
    private String countNum;

    @ApiModelProperty(value = "描述")
    @TableField("DETAILE")
    private String detaile;

    @ApiModelProperty(value = "联调数据量")
    @TableField("DATA_COUNT")
    private String dataCount;

    @ApiModelProperty(value = "联调实施步骤")
    @TableField("STEPS")
    private String steps;

    @ApiModelProperty(value = "网络侧率确认")
    @TableField("INTERNET")
    private String internet;

    @ApiModelProperty(value = "接收/提供")
    @TableField("ACCESS_OR_OFFER")
    private String accessOrOffer;

    @ApiModelProperty(value = "接入反馈表id")
    @TableField("ACCESS_FEEDBACK_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long accessFeedbackId;

    @ApiModelProperty(value = "是否删除：0未删除，1删除")
    @TableField("IS_DEL")
    private Integer isDel;

    @ApiModelProperty(value = "接入数据资源详情")
    @TableField(exist = false)
    private List<TabDatasourceMsg> tabDatasourceMsgs;
}
