longz
2026-08-19 2a916d05d9f14d583d89f77aed6f63fd49375f60
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/mapper/VipChargingOrderExportMapperTest.java
@@ -9,13 +9,14 @@
import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
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 VipChargingOrderExportMapperTest {
    @Test
    void chargingOrderQueryIncludesUserPhoneAndPartnerName() throws IOException {
    void chargingOrderQueryIsSingleTableWithServiceLayerBackfill() throws IOException {
        InputStream input = getClass().getClassLoader()
                .getResourceAsStream("mapper/order/TChargingOrderMapper.xml");
        assertNotNull(input);
@@ -28,9 +29,10 @@
                mapper.indexOf("<select id=\"chargingOrder\""),
                mapper.indexOf("<select id=\"payOrderQuery\""));
        assertTrue(statement.contains("app_user.phone"));
        assertTrue(statement.contains("partner.name as partnerName"));
        assertTrue(statement.contains("left join `charging_pile_account`.`t_app_user`"));
        assertTrue(statement.contains("left join `charging_pile_service`.`t_partner`"));
        assertTrue(statement.contains("from t_charging_order t1"));
        // 列表 SQL 不再跨库 JOIN app_user/partner(分片表无筛选全量广播会超时),
        // 手机号与合作商名由服务层 fillChargingOrderPageExtra 回填(TChargingOrderServiceImpl#2803)
        assertFalse(statement.contains("app_user"));
        assertFalse(statement.contains("partner.name"));
    }
}