fix: 修正任务1 - 严格按照规格文档重新实施数据库设计与实体类
## 修正内容 ### 1. 数据库表结构修正 - 添加字段: project_id, param_desc - 删除字段: param_type, min_value, max_value, description, status - 修正唯一索引: uk_project_model_param (project_id, model_code, param_code) - 添加普通索引: idx_project_id, idx_model_code ### 2. 初始化数据修正 - 删除错误模型: ASSET_CHANGE, RISK_SCORE, RELATED_TRANSACTION - 添加正确模型: * 大额交易模型 (LARGE_TRANSACTION) - 6个参数 * 可疑兼职模型 (SUSPICIOUS_PART_TIME) - 3个参数 * 可疑外汇交易模型 (SUSPICIOUS_FOREIGN_EXCHANGE) - 6个参数 - 共15条参数配置,project_id=0(系统默认参数) ### 3. Entity类修正 (CcdiModelParam.java) - 添加: projectId, paramDesc - 删除: paramType, minValue, maxValue, description, status - 删除: Serializable接口,serialVersionUID - 简化注释风格 ### 4. DTO类修正 **ModelParamQueryDTO:** - 只保留: projectId, modelCode - 添加@NotBlank验证 **ModelParamSaveDTO:** - 改为批量保存结构 - 包含: projectId, modelCode, modelName, params(List) - 内部类ParamItem包含参数明细 - 只允许修改paramValue字段 ### 5. VO类修正 **ModelParamVO:** - 只保留核心展示字段: id, modelCode, modelName, paramCode, paramName, paramDesc, paramValue, paramUnit, sortOrder - 删除审计字段 **ModelListVO:** - 只保留: modelCode, modelName - 删除paramCount字段 ## 验证结果 ✅ 数据库表创建成功 ✅ 15条初始化数据插入成功 ✅ 项目编译通过 (mvn clean compile) ✅ 严格符合规格文档要求
This commit is contained in:
@@ -4,51 +4,52 @@
|
||||
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 '模型代码',
|
||||
`project_id` bigint DEFAULT 0 COMMENT '项目ID(0表示默认参数,其他值为具体项目ID)',
|
||||
`model_code` varchar(100) 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-停用)',
|
||||
`param_code` varchar(100) NOT NULL COMMENT '参数编码',
|
||||
`param_name` varchar(100) NOT NULL COMMENT '监测项名称',
|
||||
`param_desc` varchar(500) DEFAULT NULL COMMENT '参数描述',
|
||||
`param_value` varchar(200) NOT NULL COMMENT '参数值',
|
||||
`param_unit` varchar(50) DEFAULT NULL COMMENT '参数单位',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序号(参数展示顺序)',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_model_param` (`model_code`, `param_code`)
|
||||
UNIQUE KEY `uk_project_model_param` (`project_id`, `model_code`, `param_code`),
|
||||
KEY `idx_project_id` (`project_id`),
|
||||
KEY `idx_model_code` (`model_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='模型参数配置表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化模型参数数据
|
||||
-- 2. 初始化大额交易模型参数
|
||||
-- ----------------------------
|
||||
INSERT INTO ccdi_model_param (project_id, model_code, model_name, param_code, param_name, param_desc, param_value, param_unit, sort_order, create_by, remark) VALUES
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'SINGLE_TRANSACTION_AMOUNT', '单笔交易额', '单笔超过该金额视为大额交易', '50000', '元', 1, 'admin', '系统默认参数'),
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'CUMULATIVE_TRANSACTION_AMOUNT', '累计交易额', '年累计交易额超过该金额', '5000000', '元', 2, 'admin', '系统默认参数'),
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'LARGE_CASH_DEPOSIT', '大额存现', '单笔存现金额超过', '200000', '元', 3, 'admin', '系统默认参数'),
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'FREQUENT_CASH_DEPOSIT', '短时多次存现', '24小时内累计存现超过', '100000', '元/4小时', 4, 'admin', '系统默认参数'),
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'FREQUENT_TRANSFER', '频繁转账', '单日转账次数超过', '10', '次/日', 5, 'admin', '系统默认参数'),
|
||||
(0, 'LARGE_TRANSACTION', '大额交易模型', 'TRANSFER_FREQUENCY', '转账频率', '单日累计转账金额超过', '1000000', '元/日', 6, 'admin', '系统默认参数');
|
||||
|
||||
-- 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);
|
||||
-- ----------------------------
|
||||
-- 3. 初始化可疑兼职模型参数
|
||||
-- ----------------------------
|
||||
INSERT INTO ccdi_model_param (project_id, model_code, model_name, param_code, param_name, param_desc, param_value, param_unit, sort_order, create_by, remark) VALUES
|
||||
(0, 'SUSPICIOUS_PART_TIME', '可疑兼职模型', 'MONTHLY_FIXED_INCOME', '月度固定收入', '除本行工资外,每月固定收入超过', '5000', '元/月', 1, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_PART_TIME', '可疑兼职模型', 'FIXED_COUNTERPARTY_TRANSFER', '固定对手转入', '每季从固定交易对手转入金额', '15000', '元/季', 2, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_PART_TIME', '可疑兼职模型', 'SUSPICIOUS_TIME_TRANSACTION', '非工作时间交易', '非工作时间(22:00-06:00)交易次数', '20', '次/月', 3, 'admin', '系统默认参数');
|
||||
|
||||
-- 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);
|
||||
-- ----------------------------
|
||||
-- 4. 初始化可疑外汇交易模型参数
|
||||
-- ----------------------------
|
||||
INSERT INTO ccdi_model_param (project_id, model_code, model_name, param_code, param_name, param_desc, param_value, param_unit, sort_order, create_by, remark) VALUES
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'SINGLE_PURCHASE_AMOUNT', '单笔购汇金额', '单笔购汇超过该金额', '50000', '美元/笔', 1, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'SINGLE_SETTLEMENT_AMOUNT', '单笔结汇金额', '单笔结汇超过该金额', '50000', '美元/笔', 2, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'CROSS_BORDER_REMITTANCE', '跨境汇款金额', '跨境汇款金额超过', '200000', '美元/笔', 3, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'MONTHLY_PURCHASE_TOTAL', '月度购汇总额', '月度购汇总额超过', '100000', '美元/月', 4, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'MONTHLY_SETTLEMENT_TOTAL', '月度结汇总额', '月度结汇总额超过', '100000', '美元/月', 5, 'admin', '系统默认参数'),
|
||||
(0, 'SUSPICIOUS_FOREIGN_EXCHANGE', '可疑外汇交易模型', 'FREQUENT_FOREX_TRADE', '频繁外汇交易', '单日外汇交易次数超过', '5', '次/日', 6, 'admin', '系统默认参数');
|
||||
|
||||
Reference in New Issue
Block a user