update 添加分页参数

This commit is contained in:
Lemon
2025-04-11 16:22:53 +08:00
parent 162911acd9
commit dc3efa717d
3 changed files with 26 additions and 9 deletions

View File

@@ -44,5 +44,7 @@ public interface OrderSplitRecordMapper {
List<OrderSplitRecord> queryOrderSplitRecordByMemberId(@Param("adapayMemberId") String adapayMemberId, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<OrderSplitRecordVO> queryOrderSplitData(@Param("dto") QueryOrderSplitDTO dto);
List<String> queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto);
List<OrderSplitRecordVO> queryOrderSplitData(@Param("orderCodeList") List<String> orderCodeList);
}

View File

@@ -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<OrderSplitRecordVO> orderSplitRecordVOS = orderSplitRecordMapper.queryOrderSplitData(dto);
PageInfo<OrderSplitRecordVO> pageInfo = new PageInfo<>(orderSplitRecordVOS);
List<String> orderCodes = orderSplitRecordMapper.queryOrderCodesByParams(dto);
PageInfo<String> pageInfo = new PageInfo<>(orderCodes);
List<OrderSplitRecordVO> orderSplitRecordVOS = orderSplitRecordMapper.queryOrderSplitData(pageInfo.getList());
// 根据 orderCode 分组
Map<String, List<OrderSplitRecordVO>> collect = pageInfo.getList().stream()
Map<String, List<OrderSplitRecordVO>> collect = orderSplitRecordVOS.stream()
.collect(Collectors.groupingBy(OrderSplitRecordVO::getOrderCode));
for (Map.Entry<String, List<OrderSplitRecordVO>> 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();

View File

@@ -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
<foreach collection="orderCodeList" item="orderCode" open="(" close=")" separator=",">
#{orderCode}
</foreach>
</select>
<select id="queryOrderCodesByParams" resultType="java.lang.String">
SELECT
order_code
from
order_split_record
where
station_id = #{dto.stationId,jdbcType=VARCHAR}
AND trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR}
</select>
</mapper>