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 ChargingOrderShareIncomeMapperTest { @Test void usesNetShareRecordAmountsWithoutDeductingOrderRefundAgain() throws IOException { String mapper = resource("mapper/order/TChargingOrderMapper.xml"); String detailQuery = select(mapper, "chargingOrderShareIncomeByOrderIds"); String channelQuery = select(mapper, "chargingOrderShareIncomeByPayChannel"); String summaryQuery = select(mapper, "chargingOrderShareIncomeSummaryByOrderIds"); assertTrue(detailQuery.contains("sum(IFNULL(s.share_amount, 0)) as partnerIncome")); assertTrue(detailQuery.contains("sum(IFNULL(s.channel_pay_amount, 0) - IFNULL(s.share_amount, 0)) as platformIncome")); assertTrue(channelQuery.contains("sum(IFNULL(s.share_amount, 0)) as shareAmount")); assertTrue(summaryQuery.contains("sum(IFNULL(s.share_amount, 0)) as partnerIncomeTotal")); assertTrue(summaryQuery.contains("sum(IFNULL(s.channel_pay_amount, 0) - IFNULL(s.share_amount, 0)) as platformIncomeTotal")); assertFalse(detailQuery.contains("third_refund_amount")); assertFalse(channelQuery.contains("third_refund_amount")); assertFalse(summaryQuery.contains("third_refund_amount")); } private String select(String mapper, String id) { int start = mapper.indexOf("