package com.ruoyi.order.mapper;
|
|
import org.junit.jupiter.api.Test;
|
|
import java.io.BufferedReader;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.InputStreamReader;
|
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 chargingOrderQueryIsSingleTableWithServiceLayerBackfill() 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 statement = mapper.substring(
|
mapper.indexOf("<select id=\"chargingOrder\""),
|
mapper.indexOf("<select id=\"payOrderQuery\""));
|
|
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"));
|
}
|
}
|