From 45109a672b4946a059bac111d3a61a87e1886274 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 29 七月 2026 11:12:52 +0800
Subject: [PATCH] 各类修复
---
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java
index fdd196e..223c7c3 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/FinancialSettlementControllerTest.java
@@ -1,8 +1,16 @@
package com.ruoyi.order.controller;
+import com.ruoyi.order.api.vo.ChargingOrderListVO;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.junit.jupiter.api.Test;
+import java.math.BigDecimal;
+import java.util.Arrays;
+
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
class FinancialSettlementControllerTest {
@@ -12,4 +20,56 @@
assertEquals("34.6", FinancialSettlementController.formatChargingDurationMinutes(2076L));
assertEquals("", FinancialSettlementController.formatChargingDurationMinutes(null));
}
+
+ @Test
+ void shouldBuildChargingPeriodExportSummaryFromExportRows() {
+ ChargingOrderListVO first = new ChargingOrderListVO();
+ first.setElectrovalence(new BigDecimal("10.12"));
+ first.setServiceCharge(new BigDecimal("2.34"));
+ first.setPaymentAmount(new BigDecimal("12.46"));
+ first.setElectricity(new BigDecimal("8.1234"));
+ first.setChargingSecond(90L);
+ first.setSharingAmount(new BigDecimal("0.46"));
+ first.setBalanceIncome(new BigDecimal("3.00"));
+ first.setBalanceGiftIncome(new BigDecimal("1.00"));
+ first.setVipDiscountAmount(new BigDecimal("0.50"));
+
+ ChargingOrderListVO second = new ChargingOrderListVO();
+ second.setElectrovalence(new BigDecimal("1.00"));
+ second.setServiceCharge(new BigDecimal("1.00"));
+ second.setPaymentAmount(new BigDecimal("2.00"));
+ second.setElectricity(new BigDecimal("1.0000"));
+ second.setChargingSecond(30L);
+
+ String summary = FinancialSettlementController.buildChargingPeriodExportSummary(Arrays.asList(first, second));
+
+ assertTrue(summary.contains("总计:2条"));
+ assertTrue(summary.contains("充电电费:11.12元"));
+ assertTrue(summary.contains("充电服务费:3.34元"));
+ assertTrue(summary.contains("充电收入:14.46元"));
+ assertTrue(summary.contains("充电电量:9.123度"));
+ assertTrue(summary.contains("充电时长:2分钟"));
+ assertTrue(summary.contains("三方平台分佣:0.46元"));
+ assertTrue(summary.contains("余额收入:3.00元"));
+ assertTrue(summary.contains("余额赠送:1.00元"));
+ assertTrue(summary.contains("会员赠送:0.50元"));
+ }
+
+ @Test
+ void shouldPrependMergedSummaryRowBeforeExportHeader() throws Exception {
+ try (Workbook workbook = new HSSFWorkbook()) {
+ Sheet sheet = workbook.createSheet("充电时段统计");
+ sheet.createRow(0).createCell(0).setCellValue("订单编号");
+ sheet.getRow(0).createCell(1).setCellValue("电站名称");
+ sheet.createRow(1).createCell(0).setCellValue("ORDER-1");
+
+ FinancialSettlementController.prependChargingPeriodSummary(workbook, "总计:1条");
+
+ assertEquals("总计:1条", sheet.getRow(0).getCell(0).getStringCellValue());
+ assertEquals("订单编号", sheet.getRow(1).getCell(0).getStringCellValue());
+ assertEquals("ORDER-1", sheet.getRow(2).getCell(0).getStringCellValue());
+ assertEquals(1, sheet.getNumMergedRegions());
+ assertEquals("A1:B1", sheet.getMergedRegion(0).formatAsString());
+ }
+ }
}
--
Gitblit v1.7.1