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

2.3 KiB
Raw Blame History

Fund Graph Backend Implementation Plan

目标: 基于图谱结果表和手工补录边提供一期资金流图谱后端能力,支持按身份证号或员工姓名查询一层资金往来,并支持点击图谱边后分页查看该边每一笔流水。

一期范围:

  • 搜索条件:projectId 保留为历史字段但不参与过滤,keyword 支持身份证号精确匹配、员工姓名匹配。
  • 图谱范围:仅返回当前人员或姓名命中的直接对手方资金往来,不自动追溯二、三层。
  • 边明细:按图谱边的 fromKey/toKey 查询每笔流水,保留交易时间、本方、对手方、摘要、金额、方向。
  • 预留扩展DTO/VO 保留 depthcanTracecanExpand 字段,后续可以扩展节点点击追溯。

实现内容:

  • 新增 CcdiFundGraphController,暴露 /ccdi/project/fund-graph/search/ccdi/project/fund-graph/graph/ccdi/project/fund-graph/edge-detail/ccdi/project/fund-graph/manual-edge
  • 新增 ICcdiFundGraphServiceCcdiFundGraphServiceImpl负责查询参数归一化、TopN 限制、节点构建和追溯字段赋值。
  • 新增 CcdiFundGraphMapper 与 XML SQL基于 lx_fund_flow_* 图谱结果表查询主体、汇总边、逐笔流水,并支持手工边落库。
  • 新增 DTO/VOCcdiFundGraphQueryDTOCcdiFundGraphEdgeDetailQueryDTOCcdiFundGraphVOCcdiFundGraphNodeVOCcdiFundGraphEdgeVOCcdiFundGraphStatementVO

数据口径:

  • 一期查询不按 projectId 过滤,统一按全局图谱关系查询。
  • 资金边来自 lx_fund_flow_detail_edge 归并后的主体层汇总边,并叠加 lx_fund_flow_manual_edge 手工边。
  • 图谱边按 fromKey/toKey/direction/familyRelationType 聚合,统计累计金额、交易笔数、首末交易时间。
  • 手工边与真实边统一排序后再按 limit 截断,避免结果条数和排序口径不一致。

后续追溯口子:

  • 当前接口接收 depth 但服务层固定为一期一层。
  • 节点返回 canExpand,边返回 canTrace,后续可新增 rootKey/currentNodeKey/depth 参数做按节点展开。
  • 一期 SQL 已把人员、企业、账号、名称代理做成统一节点键,后续多层追溯可沿用同一套节点键。