1.8 KiB
1.8 KiB
抄表开账 P0 保护修复验证记录
- 时间:2026-06-20 15:56:43 +0800
- 仓库:water-backend
- 分支:develop
- 范围:普通开账前置状态校验、取消开账账单状态保护
修复内容
-
ChargeServiceImpl.validateReadingDataBeforeBilling- 普通批量开账新增前置条件:抄表记录必须为
CheckStateEnum.REVIEWED。 - 已开账或已有营业账记录仍优先返回重复开账错误。
- 普通批量开账新增前置条件:抄表记录必须为
-
ChargeServiceImpl.cancelChargeByReadingDataIds- 空入参、无关联营业账时直接返回。
- 关联营业账存在
PayStateEnum.PAID时禁止取消开账。 - 关联营业账存在
PayStateEnum.SETTLED时禁止取消开账。 - 禁止场景下不删除营业账明细和营业账主记录。
红灯验证
新增测试后、修复实现前执行:
mvn -pl sw-business/sw-business-server -am -Dtest=ChargeServiceBillingValidationTest -Dsurefire.failIfNoSpecifiedTests=false test
结果:
cancelChargeByReadingDataIds_shouldRejectPaidCharge失败:当前实现未抛异常。generateChargeBatch_shouldRejectMeterRecordedReadingDataWithoutReview失败:当前实现未在校验阶段拦截未复核记录。
绿灯验证
修复后执行:
mvn -pl sw-business/sw-business-server -am -Dtest=ChargeServiceBillingValidationTest -Dsurefire.failIfNoSpecifiedTests=false test
结果:
- Tests run: 7
- Failures: 0
- Errors: 0
- Skipped: 0
- BUILD SUCCESS
补充执行:
mvn -pl sw-business/sw-business-server -am -Dtest=ReadingDataServiceImplCheckValidationTest,ChargeServiceBillingValidationTest -Dsurefire.failIfNoSpecifiedTests=false test
结果:
- Tests run: 8
- Failures: 0
- Errors: 0
- Skipped: 0
- BUILD SUCCESS
编译验证:
mvn -pl sw-business/sw-business-server -am -DskipTests compile
结果:
- BUILD SUCCESS