Files
ccdi/docs/plans/backend/2026-05-28-fund-graph-backend-implementation.md
2026-05-29 18:33:26 +08:00

27 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Fund Graph Backend Implementation Plan
**目标:** 基于图谱结果表和手工补录边提供一期资金流图谱后端能力,支持按身份证号或员工姓名查询一层资金往来,并支持点击图谱边后分页查看该边每一笔流水。
**一期范围:**
- 搜索条件:`projectId` 保留为历史字段但不参与过滤,`keyword` 支持身份证号精确匹配、员工姓名匹配。
- 图谱范围:仅返回当前人员或姓名命中的直接对手方资金往来,不自动追溯二、三层。
- 边明细:按图谱边的 `fromKey/toKey` 查询每笔流水,保留交易时间、本方、对手方、摘要、金额、方向。
- 预留扩展DTO/VO 保留 `depth``canTrace``canExpand` 字段,后续可以扩展节点点击追溯。
**实现内容:**
- 新增 `CcdiFundGraphController`,暴露 `/ccdi/project/fund-graph/search``/ccdi/project/fund-graph/graph``/ccdi/project/fund-graph/edge-detail``/ccdi/project/fund-graph/manual-edge`
- 新增 `ICcdiFundGraphService``CcdiFundGraphServiceImpl`负责查询参数归一化、TopN 限制、节点构建和追溯字段赋值。
- 新增 `CcdiFundGraphMapper` 与 XML SQL基于 `lx_fund_flow_*` 图谱结果表查询主体、汇总边、逐笔流水,并支持手工边落库。
- 新增 DTO/VO`CcdiFundGraphQueryDTO``CcdiFundGraphEdgeDetailQueryDTO``CcdiFundGraphVO``CcdiFundGraphNodeVO``CcdiFundGraphEdgeVO``CcdiFundGraphStatementVO`
**数据口径:**
- 一期查询不按 `projectId` 过滤,统一按全局图谱关系查询。
- 资金边来自 `lx_fund_flow_detail_edge` 归并后的主体层汇总边,并叠加 `lx_fund_flow_manual_edge` 手工边。
- 图谱边按 `fromKey/toKey/direction/familyRelationType` 聚合,统计累计金额、交易笔数、首末交易时间。
- 手工边与真实边统一排序后再按 `limit` 截断,避免结果条数和排序口径不一致。
**后续追溯口子:**
- 当前接口接收 `depth` 但服务层固定为一期一层。
- 节点返回 `canExpand`,边返回 `canTrace`,后续可新增 `rootKey/currentNodeKey/depth` 参数做按节点展开。
- 一期 SQL 已把人员、企业、账号、名称代理做成统一节点键,后续多层追溯可沿用同一套节点键。