Files
ccdi/docs/reports/implementation/2026-03-19-risk-dashboard-target-count-fix.md

32 lines
1.2 KiB
Markdown

# 风险仪表盘总人数修复实施记录
**日期**: 2026-03-19
**范围**: 后端
## 问题现象
- 风险仪表盘中的“总人数”始终显示 `0`
- 真实数据库中多个项目已存在流水数据,但 `ccdi_project.target_count` 未被维护
## 根因
- 结果总览接口按既定口径直接读取 `ccdi_project.target_count`
- 项目创建时将 `target_count` 初始化为 `0`
- 后续在银行流水导入成功、删除上传记录成功后,都没有重新统计并回写 `target_count`
## 本次修改
1.`CcdiFileUploadServiceImpl` 中新增项目目标人数刷新逻辑
2. 在银行流水入库成功后,按 `ccdi_bank_statement` 中去重身份证号数量回写 `ccdi_project.target_count`
3. 在删除上传记录并清理项目流水后,同步刷新 `ccdi_project.target_count`
4. 新增增量脚本 `sql/migration/2026-03-19-backfill-project-target-count.sql`,用于回填历史项目的目标人数
5. 补充单元测试,覆盖:
- 流水入库成功后刷新目标人数
- 删除上传记录后刷新目标人数
- 目标人数刷新按去重身份证号统计
## 验证
- 执行:`mvn -pl ccdi-project -Dtest=CcdiFileUploadServiceImplTest test`
- 结果:通过