fujian_water_biz_doc/docs/evidence/bugfix/2026-07-14-counter-topup-persistent-display.md

3.4 KiB
Raw Blame History

柜台预存持久回显修复验证证据

  • 验证日期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

实现结果

  1. 客户缴费历史不再截断为最新一条,按有效记录完整分页并保持汇总、导出一致。
  2. 新版缴费记录查询增加可选 bizScene,柜台页面用 DEPOSIT_TOPUP 精确查询最近有效预存。
  3. 新柜台预存先生成支付主单,再把 paymentRecordId 写入账户流水 payDetailId
  4. 缴费历史通过账户流水展示新预存的期初、期末余额;旧记录没有可靠关联时保持空值。
  5. 无欠费客户重新查询时可从后端恢复最近预存行,不依赖前端临时缓存或浏览器存储。
  6. 恢复的历史预存行不可勾选,也不阻塞客户再次办理预存。

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。