puzhibing
2026-08-19 83b566a3422446107bc22b052499887ad07fe971
Merge branch '2.2' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into 2.2
2个文件已修改
24 ■■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/PlatformRevenueAnalysisTest.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -8697,7 +8697,7 @@
        BigDecimal shareElectricityAmount = getChargingOrderShareElectricityAmount(chargingOrder);
        BigDecimal shareServiceAmount = getChargingOrderShareServiceAmount(chargingOrder);
        BigDecimal shareBaseAmount = shareElectricityAmount.add(shareServiceAmount).setScale(2, RoundingMode.HALF_UP);
        if (actualTotalPay.compareTo(BigDecimal.ZERO) <= 0 && isWhitelistOrder(chargingOrder)) {
        if (actualTotalPay.compareTo(BigDecimal.ZERO) <= 0 && isWhitelistAllFreeOrder(chargingOrder)) {
            actualTotalPay = shareBaseAmount;
        }
        if (actualTotalPay.compareTo(BigDecimal.ZERO) <= 0) {
@@ -8717,7 +8717,7 @@
            records.add(buildChargingOrderShareRecord(chargingOrder, site, partner, resolveThirdPayChannel(chargingOrder), actualThirdPay,
                    BigDecimal.ZERO, actualTotalPay, shareElectricityAmount, shareServiceAmount));
        }
        if (records.isEmpty() && isWhitelistOrder(chargingOrder)) {
        if (records.isEmpty() && isWhitelistAllFreeOrder(chargingOrder)) {
            records.add(buildChargingOrderShareRecord(chargingOrder, site, partner, "WHITELIST", actualTotalPay,
                    BigDecimal.ZERO, actualTotalPay, shareElectricityAmount, shareServiceAmount));
        }
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/PlatformRevenueAnalysisTest.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.service.impl;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderShareRecord;
import com.ruoyi.order.dto.SixCircleDto;
import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.dto.SixChargingDto;
@@ -19,6 +20,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -143,4 +145,22 @@
        assertEquals(new BigDecimal("18.60"), amount);
    }
    @Test
    void partialWhitelistOrderDoesNotCreateVirtualIncomeAfterManualFullRefund() {
        TChargingOrder order = new TChargingOrder();
        order.setId(1L);
        order.setIsWhitelist(1);
        order.setWhitelistBenefitType(3);
        order.setThirdPayAmount(new BigDecimal("2.50"));
        order.setThirdRefundAmount(new BigDecimal("2.50"));
        order.setElectrovalence(BigDecimal.ZERO);
        order.setServiceCharge(BigDecimal.ZERO);
        order.setWhitelistServiceRefundAmount(new BigDecimal("2.50"));
        List<TChargingOrderShareRecord> records = ReflectionTestUtils.invokeMethod(
                service, "buildChargingOrderShareRecords", order, null, null);
        assertTrue(records.isEmpty());
    }
}