56 lines
3.2 KiB
SQL
56 lines
3.2 KiB
SQL
-- 桂物合同合规系统(HCS)接入:合同扩展字段与校验留痕表(设计文档 §4,P1)。
|
||
-- blade_contract_manage 追加履约计划ID与风险留痕字段;新建 blade_hcs_check_log 校验留痕表。
|
||
-- 通过 information_schema 判断字段/表是否存在,可重复执行。
|
||
SET @db_name = DATABASE();
|
||
|
||
-- ==================== blade_contract_manage 扩展字段(C103 回填、履约计划ID、风险留痕) ====================
|
||
|
||
SET @sql = IF(
|
||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = @db_name AND table_name = 'blade_contract_manage' AND column_name = 'hcs_exeplan_id'),
|
||
'SELECT 1',
|
||
'ALTER TABLE blade_contract_manage ADD COLUMN hcs_exeplan_id varchar(64) DEFAULT NULL COMMENT ''合规履约计划ID(C103-9 返回 fdExeplanId)'''
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql = IF(
|
||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = @db_name AND table_name = 'blade_contract_manage' AND column_name = 'hcs_risk_level'),
|
||
'SELECT 1',
|
||
'ALTER TABLE blade_contract_manage ADD COLUMN hcs_risk_level varchar(8) DEFAULT NULL COMMENT ''合规客商风险等级(C101-1,甲方/乙方取高)'''
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql = IF(
|
||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = @db_name AND table_name = 'blade_contract_manage' AND column_name = 'hcs_black_status'),
|
||
'SELECT 1',
|
||
'ALTER TABLE blade_contract_manage ADD COLUMN hcs_black_status varchar(8) DEFAULT NULL COMMENT ''合规客商黑名单状态(C101-1,甲方/乙方取是)'''
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql = IF(
|
||
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = @db_name AND table_name = 'blade_contract_manage' AND column_name = 'hcs_risk_time'),
|
||
'SELECT 1',
|
||
'ALTER TABLE blade_contract_manage ADD COLUMN hcs_risk_time datetime DEFAULT NULL COMMENT ''合规风险校验时间'''
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
-- ==================== blade_hcs_check_log 校验留痕表(照 ops 日志惯例) ====================
|
||
|
||
SET @sql = IF(
|
||
EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = @db_name AND table_name = 'blade_hcs_check_log'),
|
||
'SELECT 1',
|
||
'CREATE TABLE blade_hcs_check_log (
|
||
id bigint NOT NULL COMMENT ''主键'',
|
||
tenant_id varchar(12) DEFAULT ''000000'' COMMENT ''租户ID'',
|
||
biz_type varchar(32) DEFAULT NULL COMMENT ''业务类型 project/contract/payment'',
|
||
biz_id bigint DEFAULT NULL COMMENT ''业务单据ID'',
|
||
check_type varchar(16) DEFAULT NULL COMMENT ''校验类型 risk=客商风险/credit=额度'',
|
||
result varchar(16) DEFAULT NULL COMMENT ''校验结果 pass=通过/fail=不通过/skip=跳过'',
|
||
msg varchar(512) DEFAULT NULL COMMENT ''校验说明'',
|
||
trace_id varchar(64) DEFAULT NULL COMMENT ''合规系统链路追踪ID'',
|
||
create_time datetime DEFAULT NULL COMMENT ''创建时间'',
|
||
PRIMARY KEY (id),
|
||
KEY idx_hcs_check_log_biz (biz_type, biz_id)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=''HCS 风险/额度校验留痕'''
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|