27 lines
2.3 KiB
Markdown
27 lines
2.3 KiB
Markdown
# 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 已把人员、企业、账号、名称代理做成统一节点键,后续多层追溯可沿用同一套节点键。
|