-- =============================================
-- 合同模板管理模块数据表
-- 执行方式：在 MySQL 中直接执行本文件
-- =============================================

USE zgwl_end;

DROP TABLE IF EXISTS `contract_template_manage`;

CREATE TABLE `contract_template_manage` (
    `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `template_code` VARCHAR(64) NOT NULL COMMENT '范本编号，后端自动生成',
    `template_name` VARCHAR(200) NOT NULL COMMENT '范本名称',
    `source` VARCHAR(32) NOT NULL COMMENT '范本类型：标准模板/推荐文本/示范文本/对方文本',
    `contract_type` VARCHAR(64) NOT NULL COMMENT '合同类型',
    `version` VARCHAR(32) NOT NULL COMMENT '版本号',
    `status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '状态：draft/published/disabled',
    `variable_count` INT NOT NULL DEFAULT 0 COMMENT '变量数量',
    `description` VARCHAR(1000) DEFAULT NULL COMMENT '范本描述',
    `usage_tip` VARCHAR(1000) DEFAULT NULL COMMENT '使用提示',
    `template_file_name` VARCHAR(255) NOT NULL COMMENT '模板文件名称',
    `template_file_path` VARCHAR(500) NOT NULL COMMENT '模板文件相对路径',
    `publish_org_ids_json` TEXT DEFAULT NULL COMMENT '发布范围 orgId JSON 数组',
    `publish_org_names_json` TEXT DEFAULT NULL COMMENT '发布范围 orgName JSON 数组',
    `variable_mappings_json` LONGTEXT DEFAULT NULL COMMENT '变量映射 JSON 数组',
    `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
    `created_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
    `updated_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记：0存在 2删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_template_code` (`template_code`),
    KEY `idx_template_name` (`template_name`),
    KEY `idx_contract_type` (`contract_type`),
    KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合同模板管理表';
