3.4 KiB
3.4 KiB
柜台预存持久回显修复验证证据
- 验证日期:2026-07-14
- 后端基线:
06ed57830fe0ccd50f0a74e3e5cf02114b0ace45 - 后端修复提交:
27c27aacc96f9ad139b966bf3ea400643859efcb - 前端基线:
a0239b384f7e072c11c67ae6d405980260f4af14 - 前端修复提交:
c73a13b6e234d146ea3e667643ab7012d9078a4d - 设计:
docs/superpowers/specs/2026-07-13-counter-topup-persistent-display-design.md - 计划:
docs/superpowers/plans/2026-07-14-counter-topup-persistent-display.md
实现结果
- 客户缴费历史不再截断为最新一条,按有效记录完整分页并保持汇总、导出一致。
- 新版缴费记录查询增加可选
bizScene,柜台页面用DEPOSIT_TOPUP精确查询最近有效预存。 - 新柜台预存先生成支付主单,再把
paymentRecordId写入账户流水payDetailId。 - 缴费历史通过账户流水展示新预存的期初、期末余额;旧记录没有可靠关联时保持空值。
- 无欠费客户重新查询时可从后端恢复最近预存行,不依赖前端临时缓存或浏览器存储。
- 恢复的历史预存行不可勾选,也不阻塞客户再次办理预存。
TDD 红绿证据
| 场景 | 修复前失败 | 修复后结果 |
|---|---|---|
| 完整缴费历史 | 期望 2 条,实际仅 1 条 |
PASS |
| 业务场景过滤 | 请求 VO 不存在 bizScene |
PASS |
| 预存流水关联 | 支付主单在余额增加之后生成,流水 payDetailId 为空 |
PASS |
| 余额快照 | 期望期初 10.00,实际为 null |
PASS |
| 前端持久回显 | 新增契约首次执行 0/3 通过 |
最终 4/4 PASS |
验证结果
| 范围 | 命令 | 结果 | 说明 |
|---|---|---|---|
| 后端定向单测 | mvn -q -pl sw-business/sw-business-server -am -Dtest=PaymentQueryServiceTest,ChargeServiceCounterPaymentTest,PaymentRecordServiceImplTest,CounterSettleApplicationServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test |
PASS | 73 个测试,0 失败,0 错误 |
| 后端编译 | mvn -q -pl sw-business/sw-business-server -am -DskipTests compile |
PASS | 退出码 0 |
| 前端新增契约 | node --test tests/operatingCharges/counterChargingPersistentTopup.test.mjs |
PASS | 4 个测试全部通过 |
| 前端既有柜台契约 | pnpm test:counter-charging |
PASS | 4 个测试全部通过 |
| 前端路由恢复契约 | node --test tests/operatingCharges/counterChargingPersistentTopup.test.mjs tests/operatingCharges/counterChargingRouteRestore.test.mjs |
PARTIAL | 6 个测试中 5 个通过;既有 URL 搜索状态持久化测试仍失败,与本次预存回显修改无关 |
| 前端构建(默认堆) | pnpm build:dev |
FAIL | Node 默认约 4 GB 堆触发 OOM,退出码 134,未出现源码编译错误 |
| 前端构建(8 GB 堆) | NODE_OPTIONS=--max-old-space-size=8192 pnpm build:dev |
PASS | 输出 Build successful. Please see dist directory |
未使用的验证入口
- 不运行
vue-tsc/pnpm ts:check。用户已明确要求本项目后续不要运行vue-tsc,因此不将其作为本次验收入口。
已知边界
- 旧预存支付记录没有可靠
payDetailId时,期初、期末余额显示-,不按金额和时间模糊匹配。 - 主副卡付款户解析和柜台有效余额读取不在本次修复范围。
- 柜台收费路由恢复测试的既有失败仍待独立任务修复。
- 前端全量构建需要显式提高 Node 堆上限;默认堆配置仍可能 OOM。