优化
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> 日期:2026-08-11
|
||||
> 适用范围:一期 5 页闭环中尚未实现的 11 个 operation
|
||||
> 状态口径:以下 11 项全部是一期 P0;只有 Controller/DTO 已落地且直接行为测试通过后,才能逐项把 OpenAPI 的 `NOT_IMPLEMENTED` 改为 `IMPLEMENTED`
|
||||
> 状态口径:以下 11 项全部是一期 P0,目标契约已冻结;实现和 Admin 接入证据只维护在 `财务一期P0实现证据矩阵.md`
|
||||
> 机器契约:`openapi/finance-phase1-five-pages-v1.yaml`
|
||||
|
||||
## 1. 统一冻结规则
|
||||
@@ -34,6 +34,10 @@
|
||||
|
||||
`createReceiptWithAllocations` 已实现,不计入上述 11 项,但仍属于一期 P0 回归门禁:一笔 300 元收款可人工分配到同一客户 3 张各 100 元应收结算单并共用凭证;跨客户、草稿、超额、非 CNY、无有效凭证必须拒绝。
|
||||
|
||||
### 2.1 契约与证据分离
|
||||
|
||||
本文件不记录 Controller、编译和测试中间态,也不使用 `NOT_IMPLEMENTED/IN_PROGRESS/IMPLEMENTED` 标记。G1-G4 后端行为测试和 Admin 真实接入证据统一见 `财务一期P0实现证据矩阵.md`;开发过程不得反向修改本文件冻结的路径、DTO、状态机和验收标准。
|
||||
|
||||
## 3. 状态机
|
||||
|
||||
### 3.1 费用来源
|
||||
@@ -102,13 +106,12 @@ VOIDED --REOPEN--> ISSUED(新 revision)
|
||||
| AC-28 | 客户接口只能看到本人 `ISSUED/PARTIALLY_PAID/PAID` 单据和 `CONFIRMED` 收款,不返回凭证、内部备注、供应商成本或其他客户数据 |
|
||||
| AC-29 | 每个写 operation 覆盖同键同参、同键异参、PROCESSING、FAILED/超时恢复;请求哈希改变任一业务字段即视为异参 |
|
||||
|
||||
## 6. 实现状态更新规则
|
||||
## 6. 验收证据更新规则
|
||||
|
||||
每个 operation 必须同时满足以下证据,才允许把 `x-implementation-status` 从 `NOT_IMPLEMENTED` 改为 `IMPLEMENTED`:
|
||||
目标契约保持冻结,不跟随实现状态修改。证据矩阵中的单项或分组只有同时满足以下全部证据才允许从 `FAIL` 改为 `PASS`:
|
||||
|
||||
1. Controller 存在与 OpenAPI 一致的 method/path、权限和固定 DTO。
|
||||
2. Service/Repository 实现上述状态、客户归属、CNY、幂等、版本和审计规则。
|
||||
3. 正向、非法状态、跨客户、无权限、同参重放、异参冲突和并发版本行为测试通过。
|
||||
4. 涉及凭证的操作补 File fail-closed 测试;涉及客户可见数据的操作补脱敏与状态过滤测试。
|
||||
5. 文档记录具体测试类、用例数和最近通过结果。只有代码存在、只有编译通过或只有间接测试均不得提前标完成。
|
||||
|
||||
5. 证据矩阵记录具体测试类、用例数、Admin 真实用例和最近通过结果。只有代码存在、只有编译通过或只有间接测试均不得提前标完成。
|
||||
|
||||
Reference in New Issue
Block a user