1. AGENTS.md 更新 - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节 - water-backend: 更新协作引用(建设期/建成后、evidence 模块化) 2. specs/ 重复合并 - 006-reminder-event-design 合并入 003-rev006-reminder-event-design - 001-rev004-accounting 删除冗余 data-model.md + contracts/ - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/ 3. evidence 按模块归档 - 35 个 REV-004 文件归入 evidence/rev004-accounting/ - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/ - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录 4. guides/ 清理 - 14 个 REV004_*.md 移入 evidence/rev004-accounting/ 5. 遗留文件处理 - docs/research/ 归档到 Archive/06_Migration_Plans/ - backend-check detached worktrees 清理 6. 交叉引用修复 - 006-reminder-event-design → 003-rev006-reminder-event-design - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_ 7. DB 设计文档修正(01_Database_Design.md) - biz_invoice 明确为开票配置表,非发票记录表 - 新增 biz_invoice_record 为发票申请/结果主表 - 新增 biz_charge_invoice_rel 账单-发票关联说明 - REV-005 承接口径表名全部修正 8. 发票审计证据 - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
125 lines
4.9 KiB
Markdown
125 lines
4.9 KiB
Markdown
# REV004 accountProcess gap remediation — 2026-04-13 验证记录
|
||
|
||
## 本轮改动
|
||
- accountProcess 查询 ReqVO 补前端原型 range 参数兼容:
|
||
- `sold`: `accountMonth` / `collectionTime`
|
||
- `log`: `accountMonth` / `createTime` / `handleTime` / `paymentDate`
|
||
- `unsold`: `accountMonth`
|
||
- `prestorage`: `acceptTime`
|
||
- 查询 Controller 增加 query-normalize,兼容多值 query param 传入
|
||
- `accountLog` 状态筛选补兼容值:`1=正常`、`2=已撤销`
|
||
|
||
## 验证结果
|
||
### 1. 主代码编译
|
||
命令:
|
||
```bash
|
||
cd sw-business/sw-business-server && mvn -q -DskipTests compile
|
||
```
|
||
结果:通过。
|
||
|
||
### 2. 变更相关测试(手动定向执行)
|
||
由于模块内存在与本次改动无关的存量 testCompile 问题(`ChargeService` / `ChargeDO` 相关旧测试编译失败),本轮对变更相关测试采用定向手动编译 + JUnit Console 执行。
|
||
|
||
执行类:
|
||
- `AccountingAdjustActionControllerTest`
|
||
- `AccountingAdjustRouteSmokeTest`
|
||
- `AccountingAdjustLogProcessServiceImplTest`
|
||
- `AccountingAdjustPrestorageProcessServiceImplTest`
|
||
- `AccountingAdjustSoldQueryProcessServiceImplTest`
|
||
- `AccountingAdjustUnsoldProcessServiceImplTest`
|
||
|
||
结果:
|
||
- 34 tests found
|
||
- 34 tests started
|
||
- 34 tests successful
|
||
- 0 tests failed
|
||
|
||
关键覆盖点:
|
||
- accountProcess 路由 smoke 正常
|
||
- query range 参数兼容归一化正常
|
||
- `accountLog` 的 `status=2` 已撤销兼容筛选正常
|
||
- `prestorage adjustmentNo` 闭环仍保持通过
|
||
- `sold` 查询过滤与 `unsold` / `prestorage` 主流程回归通过
|
||
|
||
### 3. 说明
|
||
直接执行:
|
||
```bash
|
||
cd sw-business/sw-business-server && mvn -Dtest='...' test
|
||
```
|
||
仍会被仓库内历史遗留的 testCompile 问题阻断;该问题与本轮 accountProcess 修复无直接关系。
|
||
|
||
|
||
## 4. `sold.isHistory` 语义收口(追加)
|
||
### 语义定义
|
||
- `isHistory=false`:查询当前已收记录(`payState=PAID`),保留调整/批量撤销能力
|
||
- `isHistory=true`:查询历史已结记录(`payState=SETTLED`),按只读口径返回,不开放调整/批量撤销
|
||
|
||
### 追加验证
|
||
命令:
|
||
- `cd sw-business/sw-business-server && mvn -q -DskipTests compile`
|
||
- 手动定向执行:`AccountingAdjustRouteSmokeTest` + `AccountingAdjustSoldQueryProcessServiceImplTest`
|
||
|
||
结果:
|
||
- 6 tests found
|
||
- 6 tests started
|
||
- 6 tests successful
|
||
- 0 tests failed
|
||
|
||
|
||
## 5. 完整相关回归(追加)
|
||
在 `sold.isHistory` 收口后,再次对本轮相关 6 个 accountProcess 测试类做完整定向回归。
|
||
|
||
执行类:
|
||
- `AccountingAdjustActionControllerTest`
|
||
- `AccountingAdjustRouteSmokeTest`
|
||
- `AccountingAdjustLogProcessServiceImplTest`
|
||
- `AccountingAdjustPrestorageProcessServiceImplTest`
|
||
- `AccountingAdjustSoldQueryProcessServiceImplTest`
|
||
- `AccountingAdjustUnsoldProcessServiceImplTest`
|
||
|
||
结果:
|
||
- 35 tests found
|
||
- 35 tests started
|
||
- 35 tests successful
|
||
- 0 tests failed
|
||
|
||
|
||
## 6. sold / accountLog 展示字段复核(追加)
|
||
### 复核结论
|
||
- `sold`:当前前端列表/弹窗所需展示字段已基本满足,暂不需要额外补展示字段
|
||
- `accountLog`:补 `custId`,用于前端客户编号点击后稳定跳转客户详情
|
||
|
||
### 追加验证
|
||
- `mvn -q -DskipTests compile` 通过
|
||
- 手动定向执行:`AccountingAdjustRouteSmokeTest` + `AccountingAdjustLogProcessServiceImplTest`
|
||
- 结果:5 tests found / 5 tests successful / 0 failed
|
||
|
||
|
||
## 7. accountLog `custId` 补齐后的回归(追加)
|
||
### 变更目的
|
||
- 补 `accountLog` 列表/详情响应中的 `custId`
|
||
- 支撑前端客户编号点击后稳定跳客户详情
|
||
|
||
### 追加验证
|
||
- 手动定向编译:`AccountingAdjustRouteSmokeTest`、`AccountingAdjustLogProcessServiceImplTest`、`AccountingAdjustSoldQueryProcessServiceImplTest`
|
||
- JUnit Console 执行结果:9 tests found / 9 tests successful / 0 failed
|
||
|
||
|
||
## 8. work_status 字典与正式文档同步(追加)
|
||
### 本轮结果
|
||
- 已在 `../water-docs/sql/rev004_account_adjust_dict_seed.sql` 中补充 `work_status` 字典 type/data(幂等)
|
||
- 已将 `../water-docs/docs/design/03_Technical_Design/01_Database_Design.md` 中的 `work_status` 口径同步为代码四态:`0-未处理 / 1-已审核 / 2-已完成 / 3-已撤销`
|
||
- 本轮仍无业务表 schema 变更,仅涉及字典 seed 与正式文档同步
|
||
|
||
|
||
### 业务解释补充
|
||
- `0 未处理`:工单创建,待审核/待处理
|
||
- `1 已审核`:审核通过(或无需审批),待完成
|
||
- `2 已完成`:处理成功且已回写完成
|
||
- `3 已撤销`:工单已撤销
|
||
- 说明:`钱到账`、`带红冲操作` 更偏业务侧解释;当前代码稳定判定仍以 `approvalStatus / resultStatus / writeBackStatus / revokeOfAdjustmentNo` 为准。
|
||
|
||
### 剩余风险
|
||
- 当前 seed SQL 采用幂等补缺策略,不会纠正**环境中已存在但口径错误**的 `work_status` 数据;若某环境已落旧三态字典,仍需后续补一条存量纠偏 SQL 或人工核查。
|
||
- Archive/历史快照与 processed/output 产物可能仍保留旧三态,它们属于历史资料/派生产物,不作为当前正式口径。
|