-- 企业微信审批数据表
-- 执行: 在 hzhub 数据库中执行

-- 审批单本地缓存
CREATE TABLE IF NOT EXISTS `wecom_approval` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `sp_no` VARCHAR(64) NOT NULL COMMENT '审批单号',
  `sp_name` VARCHAR(128) DEFAULT NULL COMMENT '审批模板名称',
  `sp_status` TINYINT NOT NULL COMMENT '状态: 1审批中 2已通过 3已驳回 4已撤销 6通过后撤销 7已删除',
  `template_id` VARCHAR(128) DEFAULT NULL COMMENT '模板ID',
  `apply_time` BIGINT DEFAULT NULL COMMENT '提交时间(时间戳)',
  `applyer_userid` VARCHAR(128) DEFAULT NULL COMMENT '申请人userid',
  `applyer_party` VARCHAR(128) DEFAULT NULL COMMENT '申请人部门',
  `apply_data` JSON DEFAULT NULL COMMENT '表单数据(原始JSON)',
  `nodes_data` JSON DEFAULT NULL COMMENT '审批流程节点(原始JSON)',
  `summary_info` TEXT DEFAULT NULL COMMENT '审批摘要',
  `amount` DECIMAL(12,2) DEFAULT NULL COMMENT '涉及金额',
  `sync_time` DATETIME DEFAULT NULL COMMENT '最后同步时间',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_sp_no` (`sp_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='企业微信审批单本地缓存';

-- 审批模板缓存
CREATE TABLE IF NOT EXISTS `wecom_approval_template` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `template_id` VARCHAR(128) NOT NULL COMMENT '模板ID',
  `template_name` VARCHAR(128) DEFAULT NULL COMMENT '模板名称',
  `template_config` JSON DEFAULT NULL COMMENT '模板配置(控件结构)',
  `sync_time` DATETIME DEFAULT NULL COMMENT '最后同步时间',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_template_id` (`template_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='企业微信审批模板缓存';
