53 lines
5.8 KiB
Markdown
53 lines
5.8 KiB
Markdown
# 财务一期 P0 实现证据矩阵
|
|
|
|
> 日期:2026-08-11
|
|
> 目标契约:`openapi/finance-phase1-five-pages-v1.yaml`、`财务一期P0操作契约与验收用例.md`
|
|
> 使用规则:本文件只记录验收证据,不反向修改目标契约;Controller 文件、编译成功或开发中间态均不能单独关闭门禁
|
|
|
|
## 1. 状态更新规则
|
|
|
|
每个分组只使用两种验收结论:
|
|
|
|
- `FAIL`:后端直接行为测试、Admin 真实接口接入或 IAM 权限初始化任一未通过、未提供或不可复核。
|
|
- `PASS`:组内所有 operation 的后端正向/错误态/权限/客户隔离/幂等行为测试全部通过,Admin 已使用真实接口完成对应页面操作验收,并且所需权限码已进入 IAM 权限目录、初始化 SQL、统一 SQL且 IAM 测试通过。
|
|
|
|
代码文件出现、Controller 映射存在、能够编译、间接测试通过、模拟接口成功均只能写入“观察记录”,不能把 `FAIL` 改为 `PASS`。证据更新时必须记录提交或工作树快照、测试类、通过数量、Admin 用例和日期。
|
|
|
|
## 2. G1-G4 稳定验收表
|
|
|
|
| 分组 | 一期 P0 operation | 后端行为测试放行条件 | Admin 真实接入放行条件 | 当前可复核证据 | 结论 |
|
|
|---|---|---|---|---|---|
|
|
| G1 客户账户 | `listDerivedCustomerAccounts`、`listDerivedCustomerAccountLedger` | 派生金额、分页筛选、日期边界、停用客户历史、跨客户隔离、固定 DTO/追踪字段测试全部通过 | 客户账户列表、筛选、详情入口、流水筛选均调用真实接口;无钱包、充值、预收或余额写入口 | 后端 G1 专项 4/4、Admin G1 专项 15/15、Finance 专项 21/21、Admin typecheck、IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过;统一 SQL 已同步权限目录且未默认授予角色 | `PASS` |
|
|
| G2 费用来源 | `getFinanceFeeSource`、`reviewFinanceFeeSource`、`updateFeeSourceSettlementInclusion` | 详情、PENDING 审核、非法状态、expectedVersion、占用冻结、完整幂等、跨客户隐藏和 CNY 条件全部通过 | 客户应收应付页详情、审核、参与/禁止结算使用真实接口;权限和服务端错误态可见,不存在假成功 | 后端 G2 专项 9/9、IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过;Admin G2 真实接入验收尚待提供 | `FAIL` |
|
|
| G3 客户对账单 | `createReconciliationStatement`、`actionReconciliationStatement` | BY_CUTOFF/SELECTED、同客户来源、重复占用、提交/审核/出账/调整/作废/重开、revision、乐观锁和完整幂等全部通过 | 客户对账单生成及所有动作使用真实接口;出账冻结、调整历史和错误态在页面可核对 | 已观察到 Controller/Service/DTO 和同路径映射;审计时点编译失败,未发现直接行为测试或 Admin 真实接入验收 | `FAIL` |
|
|
| G4 结算与人工收付款 | `createReceivableSettlement`、`createPayableSettlement`、`getSettlement`、`createSettlementPayment`;并回归已实现 `createReceiptWithAllocations` | AR/AP 生成唯一性、方向权限、详情/revision、部分付/付清、File fail-closed、跨客户/供应商、超额、CNY、完整幂等全部通过;收款 300 元分配 3 张 100 元账单通过 | 应收/应付结算页生成、详情、人工收款/付款、凭证和状态刷新均调用真实接口;客户只读脱敏与状态过滤通过 | 已观察到四个 Controller 映射和 DTO;审计时点所引用 Service 不存在且无直接行为测试;未提供 Admin 真实接入验收 | `FAIL` |
|
|
|
|
## 3. 单项证据登记
|
|
|
|
| P0 | operationId | 后端测试证据 | Admin 验收证据 | 最终状态 |
|
|
|---|---|---|---|---|
|
|
| P0-01 | `listDerivedCustomerAccounts` | G1 后端 4/4、Finance 专项 21/21 通过 | G1 专项 15/15、typecheck、IAM 目录/统一 SQL/权限契约通过 | `PASS` |
|
|
| P0-02 | `listDerivedCustomerAccountLedger` | G1 后端 4/4、Finance 专项 21/21 通过 | G1 专项 15/15、typecheck、IAM 目录/统一 SQL/权限契约通过 | `PASS` |
|
|
| P0-03 | `getFinanceFeeSource` | G2 后端 9/9 通过 | IAM 权限门禁通过;Admin G2 待提供 | `FAIL` |
|
|
| P0-04 | `reviewFinanceFeeSource` | G2 后端 9/9 通过 | IAM 权限门禁通过;Admin G2 待提供 | `FAIL` |
|
|
| P0-05 | `updateFeeSourceSettlementInclusion` | G2 后端 9/9 通过 | IAM 权限门禁通过;Admin G2 待提供 | `FAIL` |
|
|
| P0-06 | `createReconciliationStatement` | 待提供 | 待提供 | `FAIL` |
|
|
| P0-07 | `actionReconciliationStatement` | 待提供 | 待提供 | `FAIL` |
|
|
| P0-08 | `createReceivableSettlement` | 待提供 | 待提供 | `FAIL` |
|
|
| P0-09 | `createPayableSettlement` | 待提供 | 待提供 | `FAIL` |
|
|
| P0-10 | `getSettlement` | 待提供 | 待提供 | `FAIL` |
|
|
| P0-11 | `createSettlementPayment` | 待提供 | 待提供 | `FAIL` |
|
|
|
|
“待提供”不表示没有代码,只表示尚未形成满足本矩阵规则的可放行证据。目标 OpenAPI 不记录或追踪这些实现状态。
|
|
|
|
## 4. IAM 权限门禁
|
|
|
|
| 分组 | 权限码 | 当前状态 | 关闭证据 |
|
|
|---|---|---|---|
|
|
| G1 | `platform:finance:account:view` | 已进入 IAM 初始化与统一 SQL,未默认授予角色 | IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过 |
|
|
| G2 | `platform:finance:fee-source:view` | 已进入 IAM 初始化与统一 SQL,未默认授予角色;G2 等待 Admin 接入 | 同上 |
|
|
| G2 | `platform:finance:fee-source:review` | 已进入 IAM 初始化与统一 SQL,未默认授予角色;G2 等待 Admin 接入 | 同上 |
|
|
| G2 | `platform:finance:fee-source:settlement` | 已进入 IAM 初始化与统一 SQL,未默认授予角色;G2 等待 Admin 接入 | 同上 |
|
|
|
|
在 IAM 模块权限目录、IAM 初始化 SQL、统一 SQL和对应 IAM 测试证据全部完成前,不因 Finance/Admin 专项测试通过而更新 G1/G2 结论。主契约保持冻结,不写入本门禁的中间状态。
|