59 lines
7.7 KiB
Markdown
59 lines
7.7 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、Admin G2 专项 21/21、Admin typecheck/build、IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过;统一 SQL 已同步权限目录且未默认授予角色 | `PASS` |
|
|
| G3 客户对账单 | `createReconciliationStatement`、`actionReconciliationStatement` | BY_CUTOFF/SELECTED、同客户来源、重复占用、提交/审核/出账/调整/作废/重开、revision、乐观锁和完整幂等全部通过 | 客户对账单生成及所有动作使用真实接口;出账冻结、调整历史和错误态在页面可核对 | G3 后端专项 16/16、Finance 聚合 82/82、Admin 财务专项 60/60、Admin 全量 654/654、typecheck/build、IAM 168/168 通过;页面使用冻结 G3 详情 DTO,支持多行调整、驳回、作废和重开 | `PASS` |
|
|
| G4 结算与人工收付款 | `createReceivableSettlement`、`createPayableSettlement`、`getSettlement`、`createSettlementPayment`;并回归已实现 `createReceiptWithAllocations` | AR/AP 生成唯一性、方向权限、详情/revision、部分付/付清、File fail-closed、跨客户/供应商、超额、CNY、完整幂等全部通过;收款 300 元分配 3 张 100 元账单通过 | 应收/应付结算页生成、详情、人工收款/付款、凭证和状态刷新均调用真实接口;客户只读脱敏与状态过滤通过 | G4 后端专项 18/18、收款/AR 同步专项 12/12、Finance 聚合 82/82、Admin G3/G4 组件 6/6、Admin 财务专项 60/60、全量 654/654、typecheck/build、IAM 168/168 通过;供应商来自真实往来单位候选 | `PASS` |
|
|
|
|
## 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 通过 | Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 | `PASS` |
|
|
| P0-04 | `reviewFinanceFeeSource` | G2 后端 9/9 通过 | Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 | `PASS` |
|
|
| P0-05 | `updateFeeSourceSettlementInclusion` | G2 后端 9/9 通过 | Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 | `PASS` |
|
|
| P0-06 | `createReconciliationStatement` | G3 专项 16/16、Finance 聚合 82/82 通过 | 真实生成接口、冻结详情 GET、Admin 财务专项和全量测试通过 | `PASS` |
|
|
| P0-07 | `actionReconciliationStatement` | G3 专项覆盖状态机、revision、版本、跨客户和幂等恢复 | 提交、审核、驳回、出账、多行调整、作废和重开真实接入 | `PASS` |
|
|
| P0-08 | `createReceivableSettlement` | G4 专项覆盖正向、唯一性、CNY 和对账单状态 | 从已出账对账单真实生成;应收人工收款同步结算状态 | `PASS` |
|
|
| P0-09 | `createPayableSettlement` | G4 专项覆盖正向、跨客户、混供应商、不合格和重复占用 | 真实 PAYABLE 来源与平台往来单位供应商候选接入 | `PASS` |
|
|
| P0-10 | `getSettlement` | G4 专项覆盖方向权限、404、来源、revision 和收付款历史 | 应收/应付详情均调用冻结结算详情接口 | `PASS` |
|
|
| P0-11 | `createSettlementPayment` | G4 专项覆盖部分付、付清、超额、版本、File fail-closed 和幂等 | 图片凭证上传后调用真实付款接口并刷新状态 | `PASS` |
|
|
|
|
“待提供”不表示没有代码,只表示尚未形成满足本矩阵规则的可放行证据。目标 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,未默认授予角色;Admin 已真实接入 | IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2、Admin G2 专项 21/21 通过 |
|
|
| G2 | `platform:finance:fee-source:review` | 已进入 IAM 初始化与统一 SQL,未默认授予角色;Admin 已真实接入 | 同上 |
|
|
| G2 | `platform:finance:fee-source:settlement` | 已进入 IAM 初始化与统一 SQL,未默认授予角色;Admin 已真实接入 | 同上 |
|
|
| G3 | `platform:finance:reconciliation:create/review/issue/adjust/void` | 已进入 IAM 模块迁移与统一 SQL,未默认授予角色 | IAM G3/G4 权限契约 2/2、IAM 168/168 通过 |
|
|
| G4 | `platform:finance:settlement-ar:create/view`、`platform:finance:settlement-ap:create/view`、`platform:finance:payment:create` | 已进入 IAM 模块迁移与统一 SQL,未默认授予角色;收款复用既有 `platform:finance:receipt:create` | IAM G3/G4 权限契约 2/2、IAM 168/168、Admin 权限组件用例通过 |
|
|
|
|
在 IAM 模块权限目录、IAM 初始化 SQL、统一 SQL和对应 IAM 测试证据全部完成前,不因 Finance/Admin 专项测试通过而更新 G1-G4 结论。主契约保持冻结,不写入本门禁的中间状态。
|
|
|
|
## 5. 环境验收边界
|
|
|
|
G1-G4 的 `PASS` 表示冻结契约、源码实现、直接行为测试、Admin 真实 API 适配、页面组件测试、IAM 权限目录和统一 SQL 的本地门禁通过。真实 MySQL 执行、测试环境 Finance/Firstleg/File HTTP 冒烟和领导页面验收尚未执行,不属于本次本地 PASS 的部署证据;未经当前对话明确授权,不触发 Jenkins。
|