package com.zt.plat.module.base.dal.dataobject.doctemplate;

import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
import lombok.*;

/**
 * 模板实例 DO
 *
 * @author 系统生成
 */
@TableName(value = "bse_doc_instance")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DocTemplateInstanceDO extends BusinessBaseDO {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 实例名称
     */
    @TableField("instance_name")
    private String instanceName;

    /**
     * 实例编码（唯一）
     */
    @TableField("instance_code")
    private String instanceCode;

    /**
     * 引用的模板ID
     */
    @TableField("template_id")
    private Long templateId;

    /**
     * 业务关联类型
     */
    @TableField("business_type")
    private String businessType;

    /**
     * 业务关联ID
     */
    @TableField("business_id")
    private Long businessId;

    /**
     * 业务关联标签（如 PC-2025-001）
     */
    @TableField("business_label")
    private String businessLabel;

    /**
     * 用户编辑后的内容（含占位符）
     */
    @TableField("edited_content")
    private String editedContent;

    /**
     * 渲染后的最终内容（占位符已替换）
     */
    @TableField("rendered_content")
    private String renderedContent;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 状态（draft=草稿，published=已发布）
     */
    @TableField("status")
    private String status;

    /**
     * SQL配置
     */
    @TableField("sql_config")
    private String sqlConfig;

    /**
     * 数据源标识
     */
    @TableField("data_source")
    private String dataSource;

    /**
     * 分类ID
     */
    @TableField("category_id")
    private Long categoryId;

    /**
     * 图标
     */
    @TableField("icon")
    private String icon;

    /**
     * 描述
     */
    @TableField("description")
    private String description;

    /**
     * 版本号
     */
    @TableField("version")
    private String version;

}
