From eb04fd37f070e52920032f850826e0e12fb48c64 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期二, 21 七月 2026 11:50:39 +0800
Subject: [PATCH] fix: 优化退款订单分页查询

---
 ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/PayOrderQueryPerformanceMapperTest.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/PayOrderQueryPerformanceMapperTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/PayOrderQueryPerformanceMapperTest.java
index dafcc68..0be2b53 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/PayOrderQueryPerformanceMapperTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/PayOrderQueryPerformanceMapperTest.java
@@ -12,6 +12,7 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class PayOrderQueryPerformanceMapperTest {
 
@@ -35,6 +36,25 @@
         assertFalse(payOrderQuery.contains("t_vip_order_refund"));
     }
 
+    @Test
+    void refundListAppliesPartnerSiteScopeInsidePagedQuery() throws IOException {
+        InputStream input = getClass().getClassLoader()
+                .getResourceAsStream("mapper/order/TChargingOrderMapper.xml");
+        assertNotNull(input);
+
+        String mapper;
+        try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))) {
+            mapper = reader.lines().collect(Collectors.joining("\n"));
+        }
+
+        String refundQuery = mapper.substring(
+                mapper.indexOf("<select id=\"getRefundList\""),
+                mapper.indexOf("<select id=\"chargingOrderGroup\""));
+        assertTrue(refundQuery.contains("data.siteIds"));
+        assertTrue(refundQuery.contains("o.site_id IN"));
+        assertEquals(3, countOccurrences(refundQuery, "as site_id"));
+    }
+
     private int countOccurrences(String text, String target) {
         int count = 0;
         int index = 0;

--
Gitblit v1.7.1