| | |
| | | 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); |
| | |
| | | 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")); |
| | | } |
| | | } |