From 305b30ac8e80e547562586a9f71df06245ec76fb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 19 八月 2026 11:35:56 +0800
Subject: [PATCH] fix: whitelist refund split by benefit type 1/2/3, align realtime & compensation settlement
---
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingCouponSupportTest.java | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingCouponSupportTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingCouponSupportTest.java
index c7b2cce..ef3c42d 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingCouponSupportTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingCouponSupportTest.java
@@ -66,9 +66,18 @@
}
@Test
- void nonFullWhitelistOnlyWaivesServiceCharge() {
- BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplit(
- true, false, new BigDecimal("10"), new BigDecimal("5"));
+ void electricFreeWhitelistOnlyWaivesElectricity() {
+ BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplitByBenefitType(
+ true, 2, new BigDecimal("10"), new BigDecimal("5"));
+
+ assertEquals(new BigDecimal("10"), split[0]);
+ assertEquals(BigDecimal.ZERO, split[1]);
+ }
+
+ @Test
+ void serviceFreeWhitelistOnlyWaivesServiceCharge() {
+ BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplitByBenefitType(
+ true, 3, new BigDecimal("10"), new BigDecimal("5"));
assertEquals(BigDecimal.ZERO, split[0]);
assertEquals(new BigDecimal("5"), split[1]);
@@ -76,13 +85,22 @@
@Test
void fullWhitelistWaivesElectricityAndServiceCharge() {
- BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplit(
- true, true, new BigDecimal("10"), new BigDecimal("5"));
+ BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplitByBenefitType(
+ true, 1, new BigDecimal("10"), new BigDecimal("5"));
assertEquals(new BigDecimal("10"), split[0]);
assertEquals(new BigDecimal("5"), split[1]);
}
+ @Test
+ void nonWhitelistDoesNotReceiveWhitelistRefund() {
+ BigDecimal[] split = ChargingCouponSupport.calculateWhitelistRefundSplitByBenefitType(
+ false, 2, new BigDecimal("10"), new BigDecimal("5"));
+
+ assertEquals(BigDecimal.ZERO, split[0]);
+ assertEquals(BigDecimal.ZERO, split[1]);
+ }
+
private TCoupon chargingCoupon(int preferentialMode) {
TCoupon coupon = new TCoupon();
coupon.setType(1);
--
Gitblit v1.7.1