-- ----------------------------
-- 模型参数配置表
-- ----------------------------
DROP TABLE IF EXISTS `ccdi_model_param`;
CREATE TABLE `ccdi_model_param` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `model_code` varchar(50) NOT NULL COMMENT '模型代码',
  `model_name` varchar(100) NOT NULL COMMENT '模型名称',
  `param_code` varchar(50) NOT NULL COMMENT '参数代码',
  `param_name` varchar(100) NOT NULL COMMENT '参数名称',
  `param_value` varchar(500) NOT NULL COMMENT '参数值',
  `param_unit` varchar(20) DEFAULT NULL COMMENT '参数单位',
  `param_type` varchar(20) NOT NULL COMMENT '参数类型(number-数值,string-字符串,boolean-布尔)',
  `min_value` decimal(20,4) DEFAULT NULL COMMENT '最小值(数值类型)',
  `max_value` decimal(20,4) DEFAULT NULL COMMENT '最大值(数值类型)',
  `description` varchar(500) DEFAULT NULL COMMENT '参数描述',
  `sort_order` int DEFAULT 0 COMMENT '排序号',
  `status` char(1) DEFAULT '0' COMMENT '状态(0-正常,1-停用)',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_model_param` (`model_code`, `param_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='模型参数配置表';

-- ----------------------------
-- 初始化模型参数数据
-- ----------------------------

-- 1. 资产异常变动模型参数 (5个参数)
INSERT INTO `ccdi_model_param` (`model_code`, `model_name`, `param_code`, `param_name`, `param_value`, `param_unit`, `param_type`, `min_value`, `max_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `remark`) VALUES
('ASSET_CHANGE', '资产异常变动模型', 'ASSET_THRESHOLD', '资产变动阈值', '50', '%', 'number', 0, 100, '资产变动百分比阈值,超过此值触发预警', 1, '0', 'admin', NOW(), NULL),
('ASSET_CHANGE', '资产异常变动模型', 'MONITOR_PERIOD', '监控周期', '30', '天', 'number', 1, 365, '资产监控的统计周期', 2, '0', 'admin', NOW(), NULL),
('ASSET_CHANGE', '资产异常变动模型', 'ALERT_FREQUENCY', '预警频率限制', '7', '天', 'number', 1, 30, '同一人员预警的最小间隔天数', 3, '0', 'admin', NOW(), NULL),
('ASSET_CHANGE', '资产异常变动模型', 'MIN_AMOUNT', '最小监控金额', '10000', '元', 'number', 0, 999999999, '低于此金额的变动不监控', 4, '0', 'admin', NOW(), NULL),
('ASSET_CHANGE', '资产异常变动模型', 'ENABLE_FAMILY', '是否监控家属', 'true', NULL, 'boolean', NULL, NULL, '是否同时监控员工家属资产变动', 5, '0', 'admin', NOW(), NULL);

-- 2. 廉政风险评分模型参数 (5个参数)
INSERT INTO `ccdi_model_param` (`model_code`, `model_name`, `param_code`, `param_name`, `param_value`, `param_unit`, `param_type`, `min_value`, `max_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `remark`) VALUES
('RISK_SCORE', '廉政风险评分模型', 'HIGH_RISK_THRESHOLD', '高风险阈值', '80', '分', 'number', 0, 100, '风险评分超过此值为高风险', 1, '0', 'admin', NOW(), NULL),
('RISK_SCORE', '廉政风险评分模型', 'MEDIUM_RISK_THRESHOLD', '中风险阈值', '60', '分', 'number', 0, 100, '风险评分超过此值为中风险', 2, '0', 'admin', NOW(), NULL),
('RISK_SCORE', '廉政风险评分模型', 'SCORE_VALIDITY', '评分有效期', '90', '天', 'number', 1, 365, '风险评分的有效期,过期需重新评估', 3, '0', 'admin', NOW(), NULL),
('RISK_SCORE', '廉政风险评分模型', 'WEIGHT_BEHAVIOR', '行为异常权重', '0.4', NULL, 'number', 0, 1, '行为异常指标在总评分中的权重', 4, '0', 'admin', NOW(), NULL),
('RISK_SCORE', '廉政风险评分模型', 'WEIGHT_RELATION', '关系异常权重', '0.3', NULL, 'number', 0, 1, '关系异常指标在总评分中的权重', 5, '0', 'admin', NOW(), NULL);

-- 3. 关联交易监测模型参数 (5个参数)
INSERT INTO `ccdi_model_param` (`model_code`, `model_name`, `param_code`, `param_name`, `param_value`, `param_unit`, `param_type`, `min_value`, `max_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `remark`) VALUES
('RELATED_TRANSACTION', '关联交易监测模型', 'TRANSACTION_THRESHOLD', '交易金额阈值', '50000', '元', 'number', 0, 999999999, '单笔交易金额超过此值触发监测', 1, '0', 'admin', NOW(), NULL),
('RELATED_TRANSACTION', '关联交易监测模型', 'FREQUENCY_THRESHOLD', '交易频次阈值', '5', '次/月', 'number', 1, 100, '月交易频次超过此值触发监测', 2, '0', 'admin', NOW(), NULL),
('RELATED_TRANSACTION', '关联交易监测模型', 'STATISTICS_WINDOW', '统计时间窗口', '180', '天', 'number', 30, 365, '交易统计的时间窗口', 3, '0', 'admin', NOW(), NULL),
('RELATED_TRANSACTION', '关联交易监测模型', 'ENABLE_INTERMEDIARY', '监测中介关联', 'true', NULL, 'boolean', NULL, NULL, '是否监测通过中介的关联交易', 4, '0', 'admin', NOW(), NULL),
('RELATED_TRANSACTION', '关联交易监测模型', 'BLACKLIST_CHECK', '黑名单校验开关', 'true', NULL, 'boolean', NULL, NULL, '是否对交易对方进行黑名单校验', 5, '0', 'admin', NOW(), NULL);
