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