diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java index 609c1082e..a8d05e5da 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java @@ -44,5 +44,7 @@ public interface OrderSplitRecordMapper { List queryOrderSplitRecordByMemberId(@Param("adapayMemberId") String adapayMemberId, @Param("startTime") String startTime, @Param("endTime") String endTime); - List queryOrderSplitData(@Param("dto") QueryOrderSplitDTO dto); + List queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto); + + List queryOrderSplitData(@Param("orderCodeList") List orderCodeList); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java index 813639f7e..69b777c2c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java @@ -269,12 +269,15 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { int pageNo = dto.getPageNo() == null ? 1 : dto.getPageNo(); int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize(); + // 分页(注意:这里要先单独查询订单编号进行分页,因为对分账信息分页,当前页不一定能完全展示完毕同一订单号的分账信息) PageHelper.startPage(pageNo, pageSize); - List orderSplitRecordVOS = orderSplitRecordMapper.queryOrderSplitData(dto); - PageInfo pageInfo = new PageInfo<>(orderSplitRecordVOS); + List orderCodes = orderSplitRecordMapper.queryOrderCodesByParams(dto); + PageInfo pageInfo = new PageInfo<>(orderCodes); + + List orderSplitRecordVOS = orderSplitRecordMapper.queryOrderSplitData(pageInfo.getList()); // 根据 orderCode 分组 - Map> collect = pageInfo.getList().stream() + Map> collect = orderSplitRecordVOS.stream() .collect(Collectors.groupingBy(OrderSplitRecordVO::getOrderCode)); for (Map.Entry> entry : collect.entrySet()) { @@ -283,8 +286,8 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { SplitRecordInfoVO vo = SplitRecordInfoVO.builder() .orderCode(orderCode) - .orderAmount(pageInfo.getList().get(0).getOrderAmount()) - .settleAmount(String.valueOf(pageInfo.getList().get(0).getSettleAmount())) + .orderAmount(orderSplitRecordVOS.get(0).getOrderAmount()) + .settleAmount(String.valueOf(orderSplitRecordVOS.get(0).getSettleAmount())) .build(); @@ -312,7 +315,7 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { PageResponse pageResponse = PageResponse.builder() .pageSize(pageSize) .pageNum(pageNo) - .list(pageInfo.getList()) + .list(resultList) .pages(pageInfo.getPages()) .total(pageInfo.getTotal()) .build(); diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml index e57aa7816..312c6d834 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml @@ -821,7 +821,19 @@ join adapay_member_account t3 on t1.adapay_member_id = t3.adapay_member_id join pile_merchant_info t4 on t3.merchant_id = t4.id WHERE - t1.station_id = #{dto.stationId,jdbcType=VARCHAR} - AND t1.trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR} + t1.order_code in + + #{orderCode} + + + +