longz
2026-07-22 ff0ef41c1ab14f54bd552b98cc4b2d8842b2a6a8
fix: export charging duration in minutes
1个文件已添加
1个文件已修改
27 ■■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -220,7 +220,7 @@
            tChargingOrderExport.setElectrovalencePrice("");
            tChargingOrderExport.setServiceChargePrice("");
            tChargingOrderExport.setServiceChargePriceLook("");
            tChargingOrderExport.setCumulativeChargingTime(chargingOrderListVO.getChargingSecond() + "");
            tChargingOrderExport.setCumulativeChargingTime(formatChargingDurationMinutes(chargingOrderListVO.getChargingSecond()));
            tChargingOrderExport.setRefundAmount(null != chargingOrderListVO.getRefundAmount() ? chargingOrderListVO.getRefundAmount().toString() : "");
            tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc());
            tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc());
@@ -338,6 +338,16 @@
    private String formatMoney(BigDecimal amount) {
        return nullToZero(amount).setScale(2, RoundingMode.HALF_UP).toPlainString();
    }
    static String formatChargingDurationMinutes(Long chargingSeconds) {
        if (chargingSeconds == null) {
            return "";
        }
        return BigDecimal.valueOf(chargingSeconds)
                .divide(BigDecimal.valueOf(60), 2, RoundingMode.HALF_UP)
                .stripTrailingZeros()
                .toPlainString();
    }
    
    
    
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.order.controller;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class FinancialSettlementControllerTest {
    @Test
    void shouldFormatChargingDurationInMinutes() {
        assertEquals("377.5", FinancialSettlementController.formatChargingDurationMinutes(22650L));
        assertEquals("34.6", FinancialSettlementController.formatChargingDurationMinutes(2076L));
        assertEquals("", FinancialSettlementController.formatChargingDurationMinutes(null));
    }
}