Files
ccdi/docs/reports/implementation/2026-05-28-fund-graph-special-check-implementation.md

76 lines
2.7 KiB
Markdown
Raw Normal View History

2026-05-29 18:09:32 +08:00
# 专项排查图谱实施记录
## 实施范围
- 当前口径保留资金流图谱和关系图谱两个页签。
- 页面嵌入项目详情“专项排查”页签。
- 后端不再实时聚合 `ccdi_bank_statement`
- 资金流图谱后端读取四张基础图谱表,并叠加手工资金流向表:
- `lx_fund_flow_subject_node`
- `lx_fund_flow_account_node`
- `lx_fund_flow_own_account_edge`
- `lx_fund_flow_detail_edge`
- `lx_fund_flow_manual_edge`
- 关系图谱后端读取四张关系图谱表:
- `lx_rel_node`
- `lx_rel_family_edge`
- `lx_rel_stock_edge`
- `lx_rel_represent_edge`
- 默认查询全部流水;用户选择日期时按 `lx_fund_flow_detail_edge.trx_date` 过滤。
- 点击资金边可分页查看逐笔流水。
- 点击可穿透节点可按 `object_key` 设为中心重新查询。
## 关键改动
- 后端 `CcdiFundGraphMapper.xml` 改为四表查询和实时聚合。
- 后端 `CcdiFundGraphServiceImpl` 支持 `objectKey` 查询、节点穿透和边明细查询。
- 后端新增 `/ccdi/project/fund-graph/search` 主体搜索接口。
- 前端新增 `ruoyi-ui/src/api/ccdi/graph/fundGraph.js`
- 前端新增 `ruoyi-ui/src/api/ccdi/graph/relationGraph.js`
- 前端新增 `FundGraphSection.vue`,提供紧凑型图谱卡片和边明细抽屉。
- `SpecialCheck.vue` 中原“图谱外链展示”占位卡替换为图谱组件。
- `ProjectAnalysisDialog.vue` 中“资金流向”和“关系图谱”页签替换为简版图谱展示。
## 测试数据
测试数据脚本:
```text
sql/ccdi/graph/02_lx_fund_graph_seed_test_data.sql
```
dev 库测试数据:
```text
资金流图谱测试身份证号617673198109148314
关系图谱测试身份证号330101198001010011
主体点10
账户点14
持有边14
明细边72
```
覆盖场景:
- 默认全部流水聚合。
- 日期范围筛选聚合。
- 支出 `flag = 1`
- 收入 `flag = 2`
- 家庭关系标签:配偶、父亲、母亲。
- 普通对手方:支付宝、淘宝、美团、财付通、小店、银行转账。
- 家庭关系节点按 `object_key` 设为中心查询。
## 验证
- `mvn -pl ccdi-project -am compile -DskipTests` 通过。
- `npm run build:prod` 通过。
- dev 库 SQL 校验通过:身份证号可定位主体,默认全部流水和日期筛选均能聚合出资金边。
## 注意
- 生产库 DDL 不随应用发布自动执行。
- 生产需人工执行 `sql/ccdi/graph/01_lx_fund_graph_mysql_ddl.sql` 后再发布后端。
- 生产如已建资金流图谱旧表,优先执行 `sql/ccdi/graph/06_lx_fund_graph_existing_table_supplement.sql` 补字段和补索引。
- `lx_fund_flow_sum_edge` 不作为当前纪检资金图谱页面依赖。
- 如果目标库未建四张 `lx_*` 表,后端接口会报表不存在。