fujian_water_biz_doc/docs/evidence/rev004-accountprocess-gap-remediation-2026-04-13.md

4.9 KiB
Raw Blame History

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. 主代码编译

命令:

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 参数兼容归一化正常
  • accountLogstatus=2 已撤销兼容筛选正常
  • prestorage adjustmentNo 闭环仍保持通过
  • sold 查询过滤与 unsold / prestorage 主流程回归通过

3. 说明

直接执行:

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
  • 支撑前端客户编号点击后稳定跳客户详情

追加验证

  • 手动定向编译:AccountingAdjustRouteSmokeTestAccountingAdjustLogProcessServiceImplTestAccountingAdjustSoldQueryProcessServiceImplTest
  • 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 产物可能仍保留旧三态,它们属于历史资料/派生产物,不作为当前正式口径。