From 5c17e811a9d25221d6fc77aecb90c69d2c0404d7 Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Tue, 11 Nov 2025 15:22:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=88=86=E9=A1=B5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20=E4=BB=A5=E5=8F=8A=E5=AE=8C=E5=8D=95=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderMasterController.java | 17 +++++-- .../templates/goods/deptcategory/edit.html | 5 +-- .../com/ghy/order/domain/OrderMaster.java | 6 +-- .../service/impl/OrderDetailServiceImpl.java | 44 +++++++++++++------ .../quartz/service/impl/OrderServiceImpl.java | 2 +- 5 files changed, 50 insertions(+), 24 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 7e1a05b0..33f6dafd 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -1026,6 +1026,9 @@ public class OrderMasterController extends BaseController { // 查询所有数据,不进行分页 List list = orderMasterService.selectOrderMasterList(orderMaster); + orderMaster.setPageNum(null); + orderMaster.setPageSize(null); + List countList = orderMasterService.selectOrderMasterList(orderMaster); // 处理orderType为0的情况,额外查询原师傅ID相关的订单 OrderMaster origiOrderMaster = new OrderMaster(); @@ -1035,6 +1038,7 @@ public class OrderMasterController extends BaseController { origiOrderMaster.setOrderStatuses("0,1,2,3,4"); List originalList = orderMasterService.selectOrderMasterList(origiOrderMaster); list.addAll(originalList); + countList.addAll(originalList); } // 合并数据后去重(根据订单ID) @@ -1042,8 +1046,15 @@ public class OrderMasterController extends BaseController { for (OrderMaster order : list) { uniqueOrderMap.put(order.getId(), order); } + List uniqueList = new ArrayList<>(uniqueOrderMap.values()); + uniqueOrderMap = new LinkedHashMap<>(); + for (OrderMaster order : countList) { + uniqueOrderMap.put(order.getId(), order); + } + countList = new ArrayList<>(uniqueOrderMap.values()); + // 按创建时间排序 uniqueList.sort((o1, o2) -> { if (o1.getUpdateTimeAlias() == null && o2.getUpdateTimeAlias() == null) return 0; @@ -1052,8 +1063,8 @@ public class OrderMasterController extends BaseController { return o2.getUpdateTimeAlias().compareTo(o1.getUpdateTimeAlias()); }); - // 使用startPage()方式获取分页参数(从HTTP请求中获取) - // startPage(); + // 获取分页参数(从HTTP请求中获取) + // 注意:这里不能使用startPage(),因为我们要查询所有数据进行手动分页 // 获取分页参数(从PageDomain中获取) // PageDomain pageDomain = TableSupport.buildPageRequest(); // Integer pageNum = pageDomain.getPageNum() != null ? pageDomain.getPageNum() : orderMaster.getPageNum(); @@ -1358,7 +1369,7 @@ public class OrderMasterController extends BaseController { } orderListResponses.add(orderListResponse); }); - return voDataTable(orderListResponses, uniqueList); + return voDataTable(orderListResponses, countList); } @PostMapping("/app/count") diff --git a/ghy-admin/src/main/resources/templates/goods/deptcategory/edit.html b/ghy-admin/src/main/resources/templates/goods/deptcategory/edit.html index 0920ee59..d61ca06a 100644 --- a/ghy-admin/src/main/resources/templates/goods/deptcategory/edit.html +++ b/ghy-admin/src/main/resources/templates/goods/deptcategory/edit.html @@ -254,11 +254,10 @@
- +
+ th:field="*{countdownHours}">
diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java index 110c8e22..4a14c1cf 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java @@ -380,7 +380,7 @@ public class OrderMaster extends BaseEntity { @Excel(name = "退款时是否已支付", cellType = Excel.ColumnType.NUMERIC, readConverterExp = "0=未支付,1=已支付") private Integer refundPayStatus; -// private Integer pageSize; -// -// private Integer pageNum; + private Integer pageSize; + + private Integer pageNum; } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index f80dc6eb..ac107e25 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -193,22 +193,38 @@ public class OrderDetailServiceImpl implements OrderDetailService { // 子单修改从服务中到确认中需要修改已服务商品数量,从确认中到服务中需要重置已服务商品数量 if (OrderStatus.FINISH_CHECK.code() == orderDetail.getOrderStatus() && originOrderDetail.getOrderStatus() < OrderStatus.FINISH_CHECK.code()) { List orderGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId()); - orderGoodsList.stream().forEach(orderGoods -> { - orderGoods.setServerGoodsNum(orderGoods.getGoodsNum()); - orderGoodsService.updateOrderGoods(orderGoods); - // 主单关联商品相应修改已服务数量 - Integer masterServerGoodsNum = masterGoodsMap.get(orderGoods.getGoodsStandardId()).getServerGoodsNum(); - masterGoodsMap.get(orderGoods.getGoodsStandardId()).setServerGoodsNum(masterServerGoodsNum += orderGoods.getServerGoodsNum()); - }); + if (CollectionUtils.isNotEmpty(orderGoodsList)) { + orderGoodsList.stream().filter(Objects::nonNull).forEach(orderGoods -> { + if (orderGoods.getGoodsStandardId() != null) { + // 检查goodsNum是否为null,提供默认值0 + Integer goodsNum = orderGoods.getGoodsNum() != null ? orderGoods.getGoodsNum() : 0; + orderGoods.setServerGoodsNum(goodsNum); + orderGoodsService.updateOrderGoods(orderGoods); + // 主单关联商品相应修改已服务数量 + OrderGoods masterGoods = masterGoodsMap.get(orderGoods.getGoodsStandardId()); + if (masterGoods != null && masterGoods.getServerGoodsNum() != null) { + Integer masterServerGoodsNum = masterGoods.getServerGoodsNum(); + masterGoods.setServerGoodsNum(masterServerGoodsNum + goodsNum); + } + } + }); + } } else if (OrderStatus.FINISH_CHECK.code() == originOrderDetail.getOrderStatus() && orderDetail.getOrderStatus() < OrderStatus.FINISH_CHECK.code()) { List orderGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId()); - orderGoodsList.stream().forEach(orderGoods -> { - orderGoods.setServerGoodsNum(0); - orderGoodsService.updateOrderGoods(orderGoods); - // 主单关联商品相应修改已服务数量 - Integer masterServerGoodsNum = masterGoodsMap.get(orderGoods.getGoodsStandardId()).getServerGoodsNum(); - masterGoodsMap.get(orderGoods.getGoodsStandardId()).setServerGoodsNum(masterServerGoodsNum -= orderGoods.getGoodsNum()); - }); + if (CollectionUtils.isNotEmpty(orderGoodsList)) { + orderGoodsList.stream().filter(Objects::nonNull).forEach(orderGoods -> { + if (orderGoods.getGoodsStandardId() != null) { + orderGoods.setServerGoodsNum(0); + orderGoodsService.updateOrderGoods(orderGoods); + // 主单关联商品相应修改已服务数量 + OrderGoods masterGoods = masterGoodsMap.get(orderGoods.getGoodsStandardId()); + if (masterGoods != null && masterGoods.getServerGoodsNum() != null && orderGoods.getGoodsNum() != null) { + Integer masterServerGoodsNum = masterGoods.getServerGoodsNum(); + masterGoods.setServerGoodsNum(masterServerGoodsNum - orderGoods.getGoodsNum()); + } + } + }); + } } // 更新主单关联商品 masterOrderGoodsList.stream().forEach(masterOrderGoods -> { diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java index 838488f7..65c87f0c 100644 --- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java +++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java @@ -1341,7 +1341,7 @@ public class OrderServiceImpl implements OrderService { //单独处理待上门通知 public void checkTimeoutDoor(OrderDetail order) { - log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order); + //log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order); Date now = new Date(); // 是否超时 boolean timeout = ONE.equals(order.getTimeout());