From ccd2f96466e7b72a159237332ab161192db9b1a2 Mon Sep 17 00:00:00 2001 From: "YAS\\29473" <2947326429@qq.com> Date: Sun, 4 Jan 2026 08:40:56 +0800 Subject: [PATCH] update --- .../impl/OrderBasicInfoServiceImpl.java | 29 +++--- .../business/BusinessOrderQueryResultVO.java | 4 - .../mapper/pile/OrderBasicInfoMapper.xml | 89 +++++++++++++------ 3 files changed, 76 insertions(+), 46 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 7c27d304e..8f220f151 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -6302,25 +6302,23 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .orderStatus(dto.getOrderStatus()) .build(); - // 分页参数处理 + // 1. 分页参数处理 int pageNum = dto.getPageNum() == null || dto.getPageNum() <= 0 ? 1 : dto.getPageNum(); int pageSize = dto.getPageSize() == null || dto.getPageSize() <= 0 ? 10 : dto.getPageSize(); - // 使用聚合 SQL 统计订单数量和总金额 - OrderStatisticsVO statistics = orderBasicInfoMapper.countBusinessOrderStatistics(queryOrderDTO); - - // 订单数量和总金额的为空判断 - long orderCount = statistics != null && statistics.getOrderCount() != null - ? statistics.getOrderCount() : 0L; - BigDecimal totalOrderAmount = statistics != null && statistics.getOrderAmount() != null - ? statistics.getOrderAmount() : BigDecimal.ZERO; - - // 分页查询订单列表 + // 2. 分页查询订单列表 PageHelper.startPage(pageNum, pageSize); List orderListVOS = selectOrderBasicInfoList(queryOrderDTO); PageInfo pageInfo = new PageInfo<>(orderListVOS); - // 转换为BusinessOrderListVO( + long orderCount = pageInfo.getTotal(); + + // 3. 统计总金额(使用聚合 SQL,避免查询所有数据到内存 + OrderStatisticsVO statistics = orderBasicInfoMapper.countBusinessOrderStatistics(queryOrderDTO); + BigDecimal totalOrderAmount = statistics != null && statistics.getOrderAmount() != null + ? statistics.getOrderAmount() : BigDecimal.ZERO; + + //4. 转换为 BusinessOrderListVO List businessOrderList = orderListVOS.stream() .map(order -> BusinessOrderListVO.builder() .createTime(order.getCreateTime()) @@ -6334,8 +6332,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .build()) .collect(Collectors.toList()); - // 构建分页响应 - com.jsowell.common.core.page.PageResponse pageResponse = com.jsowell.common.core.page.PageResponse.builder() + // 5. 构建分页响应 + PageResponse pageResponse = PageResponse.builder() .pageNum(pageNum) .pageSize(pageSize) .total(pageInfo.getTotal()) @@ -6343,12 +6341,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .list(businessOrderList) .build(); - // 构建返回结果 + // 6. 构建返回结果 return BusinessOrderQueryResultVO.builder() .orderCount(orderCount) .orderAmount(totalOrderAmount) .pageResponse(pageResponse) - .orderList(businessOrderList) .build(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/business/BusinessOrderQueryResultVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/business/BusinessOrderQueryResultVO.java index bb8a2eed3..9a6babd81 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/business/BusinessOrderQueryResultVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/business/BusinessOrderQueryResultVO.java @@ -35,9 +35,5 @@ public class BusinessOrderQueryResultVO { */ private PageResponse pageResponse; - /** - * 订单列表 - */ - private List orderList; } diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 39674a4d8..5f0982cce 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -1997,6 +1997,12 @@ #{excludeStationId} + + and station_id in + + #{stationId} + + order by t1.create_time desc @@ -2066,34 +2072,65 @@ order by t1.create_time desc +