From 2a916d05d9f14d583d89f77aed6f63fd49375f60 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 19 八月 2026 11:38:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.2' into 2.2

---
 ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/TChargingOrderControllerTest.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/TChargingOrderControllerTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/TChargingOrderControllerTest.java
index d6477f7..19d1003 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/TChargingOrderControllerTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/controller/TChargingOrderControllerTest.java
@@ -23,7 +23,9 @@
 import java.time.LocalDateTime;
 import java.math.BigDecimal;
 import java.util.Arrays;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -235,4 +237,50 @@
         assertEquals("企业车", result.get(1).get("name"));
         assertEquals(3L, result.get(1).get("value"));
     }
+
+    @Test
+    void franchiseeManagementOrderStatsUsesSameServiceAndDateRangeAsManagementStatistics() {
+        TChargingOrderController controller = new TChargingOrderController();
+        TChargingOrderService chargingOrderService = mock(TChargingOrderService.class);
+        ReflectionTestUtils.setField(controller, "chargingOrderService", chargingOrderService);
+        List<Integer> siteIds = Arrays.asList(11, 12);
+        LocalDate start = LocalDate.of(2026, 8, 1);
+        LocalDate end = LocalDate.of(2026, 8, 31);
+        List<Map<String, Object>> managementStats = Arrays.asList(managementStat("2026-08", "123.45", 7));
+        when(chargingOrderService.getByDate(start, end, siteIds)).thenReturn(managementStats);
+
+        @SuppressWarnings("unchecked")
+        List<Map<String, Object>> result = ReflectionTestUtils.invokeMethod(controller,
+                "franchiseeManagementOrderStats", siteIds,
+                new LocalDateTime[]{start.atStartOfDay(), end.plusDays(1).atStartOfDay()});
+
+        assertEquals(managementStats, result);
+        verify(chargingOrderService).getByDate(start, end, siteIds);
+    }
+
+    @Test
+    void franchiseeManagementOrderTrendKeepsManagementValuesWithoutRecalculating() {
+        TChargingOrderController controller = new TChargingOrderController();
+        List<Map<String, Object>> stats = Arrays.asList(
+                managementStat("2026-08-01", "12.34", 2),
+                managementStat("2026-08-02", "56.78", 3));
+
+        @SuppressWarnings("unchecked")
+        Map<String, Object> chart = ReflectionTestUtils.invokeMethod(controller,
+                "franchiseeManagementOrderTrend", stats);
+        @SuppressWarnings("unchecked")
+        List<Map<String, Object>> series = (List<Map<String, Object>>) chart.get("series");
+
+        assertEquals(Arrays.asList("2026-08-01", "2026-08-02"), chart.get("categories"));
+        assertEquals(Arrays.asList(new BigDecimal("12.34"), new BigDecimal("56.78")), series.get(0).get("data"));
+        assertEquals(Arrays.asList(new BigDecimal("2"), new BigDecimal("3")), series.get(1).get("data"));
+    }
+
+    private Map<String, Object> managementStat(String time, String paymoney, int orderCount) {
+        Map<String, Object> stat = new LinkedHashMap<>();
+        stat.put("time", time);
+        stat.put("paymoney", new BigDecimal(paymoney));
+        stat.put("orderCount", orderCount);
+        return stat;
+    }
 }

--
Gitblit v1.7.1