# 纪检初核系统 - 原型图开发设计文档 ## 一、项目概述 ### 1.1 项目背景 本项目是一个**纪检初核系统**,用于对银行信贷部门员工进行初步核查,通过分析银行流水、征信报告、员工关系等数据,识别潜在的违规行为和风险。 ### 1.2 项目目标 - 支持多维度数据导入(流水、征信、员工关系) - 提供可配置的风险监测模型 - 自动识别高风险人员并生成初核提示 - 提供专项排查工作台进行深入分析 - 支持关系图谱和资金流向分析 ### 1.3 技术栈 - **后端**: Spring Boot 3.5.8 + MyBatis 3.0.5 + MySQL 8.2.0 - **前端**: Vue 2.6.12 + Element UI 2.15.14 - **数据库**: MySQL(表前缀:ccdi_) --- ## 二、页面结构与功能分析 ### 2.1 页面导航结构 ``` 纪检初核系统 ├── 项目管理 │ ├── 项目详情 │ ├── 上传数据 │ ├── 参数配置 │ └── 初核提示 ├── 初核结果 │ ├── 专项排查工作台(高风险) │ ├── 专项排查工作台(中风险) │ └── 专项排查 └── 流水明细查询 ``` --- ### 2.2 页面1:上传数据 #### 功能描述 支持在一个项目中上传多个主体/账户数据,进行汇总/独立分析。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 项目信息 | 项目状态 | 显示项目当前状态(如:已完成) | | | 最后更新时间 | 显示项目最后更新时间 | | 上传模块1 | 流水导入 | 支持Excel、PDF格式文件批量上传 | | | | 占位符:拖拽文件到此处或点击上传 | | | | 支持格式:xlsx, xls, pdf | | 上传模块2 | 已上传流水查询 | 支持HTML格式 | | | | 占位符:拖拽文件到此处或点击上传 | | 上传模块3 | 征信导入 | 支持HTML格式征信报告解析 | | 上传模块4 | 员工家庭关系导入 | Excel模板上传员工家庭关系信息 | | | | 支持格式:xlsx, xls | | 名单库选择 | 高风险人员名单 | 复选框,显示人数(如68人) | | | 历史可疑人员名单 | 复选框,显示人数(如45人) | | | 监管关注名单 | 复选框,显示人数(如32人) | | 数据质量检查 | 数据完整性 | 进度条,显示百分比(如98.5%) | | | 格式一致性 | 进度条,显示百分比(如95.2%) | | | 余额连续性 | 进度条,显示百分比(如92.8%) | | | 检查结果 | 显示发现的问题数量 | | 操作按钮 | 拉取本行信息 | 触发拉取银行内部信息 | | | 生成报告 | 生成初核报告 | #### 数据模型 ```sql -- 项目表 CREATE TABLE ccdi_project ( project_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_name VARCHAR(200) NOT NULL COMMENT '项目名称', project_status VARCHAR(50) COMMENT '项目状态', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, create_by VARCHAR(100), update_by VARCHAR(100), remark VARCHAR(500) ) COMMENT '项目表'; -- 数据上传记录表 CREATE TABLE ccdi_data_upload ( upload_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', upload_type VARCHAR(50) COMMENT '上传类型:流水/征信/家庭关系', file_name VARCHAR(500) COMMENT '文件名', file_path VARCHAR(1000) COMMENT '文件路径', upload_status VARCHAR(50) COMMENT '上传状态', upload_time DATETIME COMMENT '上传时间', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, create_by VARCHAR(100) ) COMMENT '数据上传记录表'; -- 名单库选择记录表 CREATE TABLE ccdi_blacklist_selection ( selection_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', blacklist_type VARCHAR(50) COMMENT '名单类型:高风险/历史可疑/监管关注', blacklist_id BIGINT COMMENT '名单ID', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '名单库选择记录表'; -- 数据质量检查表 CREATE TABLE ccdi_data_quality ( quality_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', check_item VARCHAR(100) COMMENT '检查项:完整性/一致性/连续性', check_result DECIMAL(5,2) COMMENT '检查结果百分比', issue_count INT COMMENT '问题数量', issue_detail TEXT COMMENT '问题详情', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '数据质量检查表'; ``` --- ### 2.3 页面2:参数配置 #### 功能描述 配置风险监测模型的阈值参数。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 模型名称 | 大额交易模型 | 下拉选择 | | 阈值参数配置表格 | | | | 表格列1 | 监测项 | 如:单笔交易额 | | 表格列2 | 描述 | 如:单笔超过该金额视为大额交易 | | 表格列3 | 阈值设置 | 输入框,如:50000 | | 表格列4 | 单位 | 如:元 | | 操作按钮 | 保存配置 | 保存当前配置 | | | 恢复默认 | 恢复默认值 | | | 一键导出配置 | 导出配置文件 | #### 监测项配置 1. **单笔交易额**: 50000元 2. **累计交易额**: 5000000元 3. **大额存现**: 200000元 4. **短时多次存现**: 100000元/4小时 5. **频繁转账**: 10次/日 6. **转账频率**: 1000000元/日 #### 数据模型 ```sql -- 风险模型表 CREATE TABLE ccdi_risk_model ( model_id BIGINT PRIMARY KEY AUTO_INCREMENT, model_name VARCHAR(200) NOT NULL COMMENT '模型名称', model_code VARCHAR(100) COMMENT '模型编码', status VARCHAR(50) DEFAULT 'active' COMMENT '状态', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, create_by VARCHAR(100), update_by VARCHAR(100) ) COMMENT '风险模型表'; -- 模型参数配置表 CREATE TABLE ccdi_model_parameter ( parameter_id BIGINT PRIMARY KEY AUTO_INCREMENT, model_id BIGINT COMMENT '模型ID', parameter_name VARCHAR(200) COMMENT '参数名称', parameter_code VARCHAR(100) COMMENT '参数编码', parameter_desc VARCHAR(500) COMMENT '参数描述', threshold_value DECIMAL(20,2) COMMENT '阈值', unit VARCHAR(50) COMMENT '单位', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) COMMENT '模型参数配置表'; ``` --- ### 2.4 页面3:初核提示 #### 功能描述 展示初核结果的总体概况,包括人员风险分布、模型触发情况、可疑交易明细等。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 统计卡片 | 总人数 | 显示总人数(如500) | | | 无预警人数 | 显示无预警人数(如432) | | | 低风险 | 显示低风险人数(如38) | | | 中风险 | 显示中风险人数(如20) | | | 高风险 | 显示高风险人数(如10) | | 模型触发情况表格 | 模型名称 | 如:大额交易监测 | | | 触发数 | 触发次数 | | | 触发人员 | 触发人员列表 | | | 操作 | 查看详情 | | 涉疑交易明细表 | 交易时间、可疑人员、关联人、关联员工、关系、摘要/交易类型、交易金额、操作 | | | 高风险人员清单 | 姓名、身份证号、所属部门、风险评分、触发模型数、核心异常点、操作 | 复选框支持批量操作 | | 中风险人员TOP10 | 姓名、身份证号、所属部门、触发模型、触发模型数、操作 | | | 异常账户清单 | 账户号、开户人姓名、开户银行、异常类型、异常发生时间、状态、操作 | | | 涉及违法人员清单表 | 姓名、身份证号、失信被执行人、刑事判决、行政处罚、公安涉案记录、限制高消费、违法信息更新时间、操作 | | | 筛选条件 | 姓名/工号搜索 | 输入框 | | | 部门筛选 | 下拉选择 | | | 风险等级筛选 | 下拉选择(全部/高风险/中风险/低风险) | | | 可疑人员类型筛选 | 下拉选择(全部/名单库命中/模型规则命中) | | | 模型筛选 | 复选框(大额交易/可疑财产/频繁转账等) | | | 模型筛选逻辑 | 单选:同时触发以上模型/触发任意模型 | | 批量操作 | 批量生成报告 | | | | 批量导出证据 | | | | 批量添加到关注列表 | | #### 数据模型 ```sql -- 人员风险评分表 CREATE TABLE ccdi_person_risk_score ( score_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', person_id BIGINT COMMENT '人员ID', person_name VARCHAR(100) COMMENT '姓名', id_card VARCHAR(50) COMMENT '身份证号', department VARCHAR(200) COMMENT '所属部门', risk_level VARCHAR(50) COMMENT '风险等级:高/中/低', risk_score INT COMMENT '风险评分', trigger_model_count INT COMMENT '触发模型数量', core_issue VARCHAR(500) COMMENT '核心异常点', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '人员风险评分表'; -- 模型触发记录表 CREATE TABLE ccdi_model_trigger_record ( trigger_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', model_id BIGINT COMMENT '模型ID', model_name VARCHAR(200) COMMENT '模型名称', trigger_count INT COMMENT '触发次数', trigger_persons TEXT COMMENT '触发人员列表', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '模型触发记录表'; -- 涉疑交易明细表 CREATE TABLE ccdi_suspicious_transaction ( transaction_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', transaction_time DATETIME COMMENT '交易时间', suspicious_person VARCHAR(100) COMMENT '可疑人员', related_person VARCHAR(100) COMMENT '关联人', related_employee VARCHAR(100) COMMENT '关联员工', relationship VARCHAR(100) COMMENT '关系', transaction_type VARCHAR(200) COMMENT '摘要/交易类型', transaction_amount DECIMAL(20,2) COMMENT '交易金额', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '涉嫌交易明细表'; -- 异常账户表 CREATE TABLE ccdi_abnormal_account ( account_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', account_no VARCHAR(100) COMMENT '账户号', account_holder VARCHAR(100) COMMENT '开户人姓名', bank_name VARCHAR(200) COMMENT '开户银行', abnormal_type VARCHAR(100) COMMENT '异常类型', abnormal_time DATETIME COMMENT '异常发生时间', account_status VARCHAR(50) COMMENT '状态', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '异常账户表'; -- 违法人员信息表 CREATE TABLE ccdi_illegal_person_info ( info_id BIGINT PRIMARY KEY AUTO_INCREMENT, person_id BIGINT COMMENT '人员ID', person_name VARCHAR(100) COMMENT '姓名', id_card VARCHAR(50) COMMENT '身份证号', is_dishonesty_executor VARCHAR(10) COMMENT '是否失信被执行人', is_criminal_penalty VARCHAR(10) COMMENT '是否有刑事判决', is_administrative_penalty VARCHAR(10) COMMENT '是否有行政处罚', is_police_case VARCHAR(10) COMMENT '是否有公安涉案记录', is_limit_consumption VARCHAR(10) COMMENT '是否限制高消费', update_time DATETIME COMMENT '违法信息更新时间', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '违法人员信息表'; ``` --- ### 2.5 页面4:专项排查工作台-高风险 #### 功能描述 针对高风险人员的详细排查工作台。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 排查对象信息 | 排查对象 | 如:李四 | | | 姓名、工号、部门、职级、入职时间、风险等级、所属项目 | | | 触发模型列表 | 触发模型(5个) | | | | 大额交易监测 | 3笔 > 50万 | | | 频繁转账监测 | 1小时25笔 | | | 关联交易排查 | 配偶账户频繁交易 | | | 异常销户监测 | 1个账户突然销户 | | | 疑似赌博交易 | 涉赌商户5笔 | | 初核评分 | 风险评分 | 如:85分(高风险阈值:60分) | | 异常详情-大额交易 | 交易时间、本方账号/主体、对方名称/账户、摘要/交易类型、交易金额、标记状态 | 标记状态下拉:标记正常/标记可疑/确认异常 | | 异常详情-频繁转账 | 时间段、总笔数、总金额、主要对手、模式特征、核查建议 | | | 异常详情-关联交易 | 关联人、关联账户、交易特征、异常点、需核实 | | | 排查工具箱 | 查看完整流水、查看征信报告、查看资产信息、关系图谱分析、资金流向分析、导出所有证据、添加到案例库 | | | 排查进度标签页 | 异常明细、资产分析、征信摘要、关系人图谱、资金流向 | | | 操作按钮 | 生成报告、生成排查报告、标记为案例、关注 | | #### 数据模型 ```sql -- 排查对象表 CREATE TABLE ccdi_investigation_object ( object_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', person_id BIGINT COMMENT '人员ID', person_name VARCHAR(100) COMMENT '姓名', employee_no VARCHAR(100) COMMENT '工号', department VARCHAR(200) COMMENT '部门', position_level VARCHAR(100) COMMENT '职级', entry_date DATE COMMENT '入职时间', risk_level VARCHAR(50) COMMENT '风险等级', risk_score INT COMMENT '风险评分', investigation_status VARCHAR(50) COMMENT '排查状态', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) COMMENT '排查对象表'; -- 排查触发模型表 CREATE TABLE ccdi_investigation_trigger_model ( trigger_model_id BIGINT PRIMARY KEY AUTO_INCREMENT, object_id BIGINT COMMENT '排查对象ID', model_id BIGINT COMMENT '模型ID', model_name VARCHAR(200) COMMENT '模型名称', trigger_desc VARCHAR(500) COMMENT '触发描述', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '排查触发模型表'; -- 异常交易明细表 CREATE TABLE ccdi_abnormal_transaction_detail ( detail_id BIGINT PRIMARY KEY AUTO_INCREMENT, object_id BIGINT COMMENT '排查对象ID', transaction_time DATETIME COMMENT '交易时间', own_account VARCHAR(200) COMMENT '本方账号/主体', counterparty VARCHAR(200) COMMENT '对方名称/账户', transaction_type VARCHAR(200) COMMENT '摘要/交易类型', transaction_amount DECIMAL(20,2) COMMENT '交易金额', mark_status VARCHAR(50) COMMENT '标记状态:正常/可疑/异常', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '异常交易明细表'; -- 排查进度表 CREATE TABLE ccdi_investigation_progress ( progress_id BIGINT PRIMARY KEY AUTO_INCREMENT, object_id BIGINT COMMENT '排查对象ID', progress_type VARCHAR(100) COMMENT '进度类型:流水分析/征信分析/资产比对/人工核实', progress_status VARCHAR(50) COMMENT '进度状态', complete_time DATETIME COMMENT '完成时间', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '排查进度表'; -- 关注列表表 CREATE TABLE ccdi_attention_list ( attention_id BIGINT PRIMARY KEY AUTO_INCREMENT, object_id BIGINT COMMENT '排查对象ID', person_id BIGINT COMMENT '人员ID', attention_type VARCHAR(50) COMMENT '关注类型', create_by VARCHAR(100) COMMENT '创建人', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '关注列表表'; ``` --- ### 2.6 页面5:专项排查 #### 功能描述 员工详查分析功能,包括资产收入分析、图谱分析、采购查询等。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 查询条件 | 身份证号 | 输入框 | | | 开始日期、结束日期 | 日期选择器 | | | 查询、重置 | 按钮 | | 详查结果 | 详查结果描述 | 如:收入+负债远低于资产 | | 基本信息 | 姓名、身份证号、资产/收入比 | | | 收入分析 | 工资收入、其他收入 | 显示金额和百分比 | | 本人资产分析 | 房产、存款、其他 | 显示金额和百分比 | | 配偶资产分析 | 房产、车产、其他 | 显示金额和百分比 | | 负债分析 | 房贷、其他贷款 | 显示金额和百分比 | | 汇总信息 | 本人+配偶资产合计、总负债 | | | 图谱分析标签页 | 关系人图谱、资金流图谱、实控账户图谱 | | | 关系人图谱 | 姓名搜索框、生成图谱按钮 | | | | 可视化图谱 | 显示配偶、对外投资、股东、高管关联等 | | | 操作按钮 | 展开所有关联、仅显示直接关联、导出图谱、筛选、刷新 | | 采购查询表格 | 序号、采购事项名称、交易日期、采购金额、供应商名称、对方账号、联系人、关联员工 | | | 扩展查询标签页 | 采购查询、人员调动查询、招聘查询 | | | 采购查询条件 | 采购时间范围、关联员工 | | #### 数据模型 ```sql -- 员工资产分析表 CREATE TABLE ccdi_employee_asset_analysis ( analysis_id BIGINT PRIMARY KEY AUTO_INCREMENT, person_id BIGINT COMMENT '人员ID', person_name VARCHAR(100) COMMENT '姓名', id_card VARCHAR(50) COMMENT '身份证号', asset_income_ratio DECIMAL(10,2) COMMENT '资产/收入比', annual_income DECIMAL(20,2) COMMENT '年收入', own_asset DECIMAL(20,2) COMMENT '本人资产', spouse_asset DECIMAL(20,2) COMMENT '配偶资产', total_asset DECIMAL(20,2) COMMENT '本人+配偶资产合计', total_liability DECIMAL(20,2) COMMENT '总负债', income_salary DECIMAL(20,2) COMMENT '工资收入', income_other DECIMAL(20,2) COMMENT '其他收入', asset_house DECIMAL(20,2) COMMENT '房产', asset_deposit DECIMAL(20,2) COMMENT '存款', asset_other DECIMAL(20,2) COMMENT '其他', liability_mortgage DECIMAL(20,2) COMMENT '房贷', liability_loan DECIMAL(20,2) COMMENT '其他贷款', spouse_asset_house DECIMAL(20,2) COMMENT '配偶房产', spouse_asset_car DECIMAL(20,2) COMMENT '配偶车产', spouse_asset_other DECIMAL(20,2) COMMENT '配偶其他', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '员工资产分析表'; -- 关系人图谱表 CREATE TABLE ccdi_relationship_graph ( graph_id BIGINT PRIMARY KEY AUTO_INCREMENT, person_id BIGINT COMMENT '人员ID', related_person_name VARCHAR(100) COMMENT '关联人姓名', relationship_type VARCHAR(100) COMMENT '关系类型:配偶/对外投资/股东/高管关联', related_entity_name VARCHAR(200) COMMENT '关联实体名称', share_ratio DECIMAL(5,2) COMMENT '持股比例', position VARCHAR(200) COMMENT '职位', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '关系人图谱表'; -- 采购查询记录表 CREATE TABLE ccdi_purchase_record ( purchase_id BIGINT PRIMARY KEY AUTO_INCREMENT, purchase_name VARCHAR(500) COMMENT '采购事项名称', transaction_date DATE COMMENT '交易日期', purchase_amount DECIMAL(20,2) COMMENT '采购金额', supplier_name VARCHAR(500) COMMENT '供应商名称', supplier_account VARCHAR(200) COMMENT '对方账号', contact_person VARCHAR(100) COMMENT '联系人', related_employee VARCHAR(100) COMMENT '关联员工', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '采购查询记录表'; ``` --- ### 2.7 页面6:专项排查工作台-中风险 #### 功能描述 针对中风险人员的排查工作台,功能与高风险工作台类似,但风险等级不同。 #### 页面元素 与高风险工作台结构相同,主要区别: - 风险等级显示为"中风险" - 初核评分可能较低 - 触发模型数量可能较少 数据模型与高风险工作台共用。 --- ### 2.8 页面7:流水明细查询 #### 功能描述 查询和筛选银行流水明细。 #### 页面元素 | 元素类型 | 元素名称/内容 | 说明 | |---------|--------------|------| | 筛选条件 | 交易时间范围 | 开始日期、结束日期 | | | 对方名称 | 输入框,支持空值筛选 | | | 摘要 | 输入框,支持空值筛选 | | | 分类 | 多选下拉 | | | 本方主体 | 多选下拉 | | | 本方银行 | 多选下拉 | | | 本方账户 | 多选下拉 | | | 交易金额 | 范围输入(最小~最大) | | | 对方账户 | 输入框,支持空值筛选 | | | 交易类型 | 输入框,支持空值筛选 | | | 剔除关联方与本方 | 复选框 | | | 查询、重置 | 按钮 | | 流水类型切换 | 全部、流入、流出 | 单选或Tab切换 | | 流水明细表格 | 交易时间、本行账户/主体、对方名称/账户、摘要/交易类型、交易金额、分类、操作 | 支持复选框 | | 表格操作 | 修改分类 | 下拉或弹窗 | | 底部操作栏 | 已筛选X笔流水,已选中X笔流水 | | | | 导出流水 | | | | 加入分析 | | | 标签页 | 流水、对手方 | | #### 数据模型 ```sql -- 流水明细表 CREATE TABLE ccdi_transaction_detail ( detail_id BIGINT PRIMARY KEY AUTO_INCREMENT, project_id BIGINT COMMENT '项目ID', transaction_time DATETIME COMMENT '交易时间', own_account VARCHAR(200) COMMENT '本方账户/主体', own_bank VARCHAR(200) COMMENT '本方银行', counterparty_name VARCHAR(500) COMMENT '对方名称/账户', counterparty_account VARCHAR(200) COMMENT '对方账户', transaction_summary VARCHAR(500) COMMENT '摘要', transaction_type VARCHAR(200) COMMENT '交易类型', transaction_amount DECIMAL(20,2) COMMENT '交易金额', transaction_direction VARCHAR(50) COMMENT '交易方向:流入/流出', category VARCHAR(200) COMMENT '分类', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '流水明细表'; -- 流水分类表 CREATE TABLE ccdi_transaction_category ( category_id BIGINT PRIMARY KEY AUTO_INCREMENT, category_code VARCHAR(100) COMMENT '分类编码', category_name VARCHAR(200) COMMENT '分类名称', parent_id BIGINT COMMENT '父分类ID', sort_order INT COMMENT '排序', create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) COMMENT '流水分类表'; ``` --- ## 三、模块划分与开发建议 ### 3.1 后端模块划分 ``` ruoyi-info-collection/ (新建模块) ├── controller/ │ ├── CcdiProjectController.java # 项目管理 │ ├── CcdiDataUploadController.java # 数据上传 │ ├── CcdiModelConfigController.java # 模型配置 │ ├── CcdiPreliminaryCheckController.java # 初核提示 │ ├── CcdiInvestigationController.java # 专项排查工作台 │ ├── CcdiSpecialCheckController.java # 专项排查 │ └── CcdiTransactionController.java # 流水明细查询 ├── service/ │ ├── ICcdiProjectService.java │ ├── ICcdiDataUploadService.java │ ├── ICcdiModelConfigService.java │ ├── ICcdiPreliminaryCheckService.java │ ├── ICcdiInvestigationService.java │ ├── ICcdiSpecialCheckService.java │ └── ICcdiTransactionService.java ├── mapper/ │ ├── CcdiProjectMapper.java │ ├── CcdiDataUploadMapper.java │ ├── CcdiModelConfigMapper.java │ ├── CcdiPreliminaryCheckMapper.java │ ├── CcdiInvestigationMapper.java │ ├── CcdiSpecialCheckMapper.java │ └── CcdiTransactionMapper.java ├── domain/ │ ├── CcdiProject.java │ ├── CcdiDataUpload.java │ ├── CcdiModelConfig.java │ ├── CcdiPersonRiskScore.java │ ├── CcdiInvestigationObject.java │ └── ... ├── dto/ │ ├── CcdiProjectQueryDTO.java │ ├── CcdiDataUploadDTO.java │ ├── CcdiModelConfigDTO.java │ └── ... └── vo/ ├── CcdiProjectVO.java ├── CcdiPreliminaryCheckVO.java ├── CcdiInvestigationVO.java └── ... ``` ### 3.2 前端模块划分 ``` ruoyi-ui/src/views/ccdi/ ├── project/ │ ├── index.vue # 项目列表 │ ├── detail.vue # 项目详情 │ ├── upload.vue # 上传数据 │ └── components/ │ ├── UploadCard.vue # 上传卡片组件 │ ├── QualityCheck.vue # 数据质量检查组件 │ └── BlacklistSelect.vue # 名单库选择组件 ├── model/ │ ├── config.vue # 参数配置 │ └── components/ │ └── ModelConfigTable.vue # 模型配置表格组件 ├── preliminary/ │ ├── index.vue # 初核提示 │ └── components/ │ ├── RiskStatistics.vue # 风险统计卡片 │ ├── ModelTriggerTable.vue # 模型触发表格 │ ├── SuspiciousTransactionTable.vue # 涉疑交易表格 │ └── PersonRiskList.vue # 人员风险列表 ├── investigation/ │ ├── high-risk.vue # 高风险工作台 │ ├── mid-risk.vue # 中风险工作台 │ └── components/ │ ├── ObjectInfo.vue # 排查对象信息 │ ├── AbnormalTransaction.vue # 异常交易明细 │ ├── InvestigationTools.vue # 排查工具箱 │ └── InvestigationTabs.vue # 排查进度标签页 ├── special/ │ ├── index.vue # 专项排查 │ └── components/ │ ├── AssetAnalysis.vue # 资产分析 │ ├── RelationshipGraph.vue # 关系人图谱 │ └── PurchaseTable.vue # 采购查询表格 └── transaction/ └── index.vue # 流水明细查询 ``` ### 3.3 开发顺序建议 1. **第一阶段:基础数据管理** - 项目管理(创建、查询、更新) - 数据上传功能 - 数据质量检查 2. **第二阶段:模型配置** - 风险模型配置 - 模型参数配置 - 模型触发规则 3. **第三阶段:初核分析** - 初核提示页面 - 风险评分计算 - 人员风险分类 4. **第四阶段:排查工作台** - 高风险工作台 - 中风险工作台 - 排查进度跟踪 5. **第五阶段:专项排查** - 员工详查分析 - 资产收入分析 - 关系图谱分析 - 采购查询 6. **第六阶段:流水查询** - 流水明细查询 - 多维度筛选 - 流水分类管理 --- ## 四、关键技术要点 ### 4.1 文件上传处理 - 支持Excel、PDF、HTML多种格式 - 需要实现文件解析功能 - 大文件上传需要分片处理 - 上传进度显示 ### 4.2 数据质量检查 - 数据完整性检查 - 格式一致性检查 - 余额连续性检查 - 异常数据识别 ### 4.3 风险评分模型 - 可配置的风险模型 - 可配置的阈值参数 - 多模型触发计算 - 风险等级分类 ### 4.4 图谱可视化 - 关系人图谱展示 - 资金流向图谱 - 实控账户图谱 - 图谱交互操作 ### 4.5 数据导出 - 支持多种导出格式 - 大数据量导出优化 - 批量导出功能 --- ## 五、接口设计建议 ### 5.1 项目管理接口 ``` POST /ccdi/project/list # 项目列表查询 GET /ccdi/project/{id} # 项目详情 POST /ccdi/project # 新增项目 PUT /ccdi/project # 更新项目 DELETE /ccdi/project/{id} # 删除项目 ``` ### 5.2 数据上传接口 ``` POST /ccdi/upload/transaction # 上传流水文件 POST /ccdi/upload/credit # 上传征信文件 POST /ccdi/upload/relation # 上传家庭关系文件 GET /ccdi/upload/progress/{id} # 查询上传进度 POST /ccdi/upload/quality/check # 数据质量检查 ``` ### 5.3 初核分析接口 ``` GET /ccdi/preliminary/statistics # 获取统计数据 GET /ccdi/preliminary/model/trigger # 模型触发情况 GET /ccdi/preliminary/transaction # 涉疑交易明细 GET /ccdi/preliminary/person/list # 人员风险列表 GET /ccdi/preliminary/abnormal/account # 异常账户列表 POST /ccdi/preliminary/batch/report # 批量生成报告 ``` ### 5.4 排查工作台接口 ``` GET /ccdi/investigation/object/{id} # 获取排查对象详情 GET /ccdi/investigation/abnormal/{id} # 获取异常交易详情 GET /ccdi/investigation/progress/{id} # 获取排查进度 PUT /ccdi/investigation/mark/status # 标记状态 POST /ccdi/investigation/report # 生成排查报告 ``` --- ## 六、数据库表汇总 | 序号 | 表名 | 说明 | |------|------|------| | 1 | ccdi_project | 项目表 | | 2 | ccdi_data_upload | 数据上传记录表 | | 3 | ccdi_blacklist_selection | 名单库选择记录表 | | 4 | ccdi_data_quality | 数据质量检查表 | | 5 | ccdi_risk_model | 风险模型表 | | 6 | ccdi_model_parameter | 模型参数配置表 | | 7 | ccdi_person_risk_score | 人员风险评分表 | | 8 | ccdi_model_trigger_record | 模型触发记录表 | | 9 | ccdi_suspicious_transaction | 涉嫌交易明细表 | | 10 | ccdi_abnormal_account | 异常账户表 | | 11 | ccdi_illegal_person_info | 违法人员信息表 | | 12 | ccdi_investigation_object | 排查对象表 | | 13 | ccdi_investigation_trigger_model | 排查触发模型表 | | 14 | ccdi_abnormal_transaction_detail | 异常交易明细表 | | 15 | ccdi_investigation_progress | 排查进度表 | | 16 | ccdi_attention_list | 关注列表表 | | 17 | ccdi_employee_asset_analysis | 员工资产分析表 | | 18 | ccdi_relationship_graph | 关系人图谱表 | | 19 | ccdi_purchase_record | 采购查询记录表 | | 20 | ccdi_transaction_detail | 流水明细表 | | 21 | ccdi_transaction_category | 流水分类表 | --- ## 七、前端组件建议 ### 7.1 通用组件 ```javascript // components/ccdi/ ├── UploadCard.vue # 文件上传卡片 ├── RiskStatisticsCard.vue # 风险统计卡片 ├── QualityProgressBar.vue # 质量检查进度条 ├── ModelTriggerTable.vue # 模型触发表格 ├── PersonRiskList.vue # 人员风险列表 ├── TransactionTable.vue # 交易明细表格 ├── RelationshipGraph.vue # 关系图谱组件 └── FilterPanel.vue # 筛选面板组件 ``` ### 7.2 图表组件 ```javascript // 使用ECharts实现 ├── RiskDistributionChart.vue # 风险分布图 ├── ModelTriggerChart.vue # 模型触发图表 ├── AssetAnalysisChart.vue # 资产分析图表 └── RelationshipGraphChart.vue # 关系图谱 ``` --- ## 八、开发注意事项 ### 8.1 权限控制 - 项目级权限控制 - 数据访问权限 - 敏感信息脱敏 ### 8.2 性能优化 - 大数据量查询分页 - 索引优化 - 缓存策略 ### 8.3 数据安全 - 敏感数据加密 - 操作日志记录 - 数据备份 ### 8.4 用户体验 - 加载状态提示 - 操作反馈 - 错误提示 --- ## 九、后续扩展方向 1. **智能分析**:引入机器学习算法,提高风险识别准确率 2. **移动端适配**:开发移动端应用,支持移动办公 3. **报表中心**:自定义报表功能 4. **预警机制**:实时预警通知 5. **案例库管理**:典型案例沉淀和复用 --- **文档版本**: v1.0 **创建时间**: 2025-01-30 **最后更新**: 2025-01-30