2.2 KiB
2.2 KiB
REV004 分账固定费用归属修复验证记录
背景
按水量分账采用连续阶梯重算后,calculationMode=3 的固定金额费用会在每个子账单重算一次,导致固定费用被重复收取。
本次明确业务口径:按水量分账时,固定金额费用只归属第 1 个子账单,后续子账单该固定费用为 0。
实现范围
- 后端仓库:
../water-backend/ - 基线:
6156e47f8 - 验证日期:2026-06-19
- 涉及文件:
sw-business/sw-business-server/src/main/java/cn/com/emsoft/sw/business/service/accountingadjust/trial/UnsoldTrialPreviewServiceImpl.javasw-business/sw-business-server/src/main/java/cn/com/emsoft/sw/business/service/accountingadjust/AccountingAdjustActionServiceImpl.javasw-business/sw-business-server/src/test/java/cn/com/emsoft/sw/business/service/accountingadjust/trial/UnsoldTrialPreviewServiceImplTest.javasw-business/sw-business-server/src/test/java/cn/com/emsoft/sw/business/service/accountingadjust/AccountingAdjustActionServiceImplTest.java
规则
- 按水量分账继续按拆分顺序做连续阶梯重算。
- 水价费用配置中
calculationMode=3的固定金额费用:- 第 1 个子账单取原账单对应费用金额。
- 第 2..N 个子账单置 0。
- 正式回写时同步调整子账单费用明细,固定费用明细第 1 个子账单保留原金额,后续子账单清零。
- 按费用组成分账不在本次范围内,保持原逻辑。
验证
执行命令:
mvn -pl sw-business/sw-business-server -am -Dtest=UnsoldTrialPreviewServiceImplTest,AccountingAdjustActionServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test
结果:
UnsoldTrialPreviewServiceImplTest:11 tests, 0 failures, 0 errorsAccountingAdjustActionServiceImplTest:19 tests, 0 failures, 0 errors- Reactor build:SUCCESS
补充说明:
- 初次仅使用
-pl sw-business/sw-business-server执行时,因未同时构建sw-business-api依赖,命中本地依赖中的CustPriceChangeUpdateDTO缺失编译错误;改用-am后源码依赖正常参与构建。 -am执行指定测试时,上游模块需要追加-Dsurefire.failIfNoSpecifiedTests=false,避免上游模块没有匹配测试导致提前失败。