package com.mini.capi.biz.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 java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 数据表基础信息表
 * </p>
 *
 * @author gaoxq
 * @since 2025-11-17
 */
@Getter
@Setter
@TableName("data_table_info")
public class DataTableInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 数据表唯一标识（主键）
     */
    @TableId(value = "table_id", type = IdType.AUTO)
    private String tableId;

    /**
     * 数据表名称
     */
    @TableField("table_name")
    private String tableName;

    /**
     * 数据表描述
     */
    @TableField("table_comment")
    private String tableComment;

    /**
     * 数据表大小（单位：MB）
     */
    @TableField("table_size")
    private BigDecimal tableSize;

    /**
     * 数据来源（如：业务系统、文件导入等）
     */
    @TableField("data_source")
    private String dataSource;

    /**
     * 创建人
     */
    @TableField("creator")
    private String creator;

    /**
     * 记录条数
     */
    @TableField("data_rows")
    private Long dataRows;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 备注信息
     */
    @TableField("remarks")
    private String remarks;

    /**
     * 数据标识
     */
    @TableField("db_id")
    private String dbId;

    /**
     * 分区日期
     */
    @TableField("ds")
    private String ds;

    /**
     * 租户id
     */
    @TableField("f_tenant_id")
    private String fTenantId;

    /**
     * 流程id
     */
    @TableField("f_flow_id")
    private String fFlowId;

    /**
     * 流程任务主键
     */
    @TableField("f_flow_task_id")
    private String fFlowTaskId;

    /**
     * 流程任务状态
     */
    @TableField("f_flow_state")
    private Integer fFlowState;
}
