From f1df93ec25695f336651723399a46888a8d22a2d Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Fri, 7 Nov 2025 09:28:08 +0800 Subject: [PATCH] no message --- .../order/OrderMasterController.java | 36 +++++++++++++++++-- .../ghy/web/pojo/vo/OrderStandardDetail.java | 2 ++ 2 files changed, 36 insertions(+), 2 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 9b3e399b..5254a95e 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 @@ -1858,6 +1858,7 @@ public class OrderMasterController extends BaseController { } OrderStandardDetail orderStandardDetail = new OrderStandardDetail(); + orderStandardDetail.setRefundPayStatus(orderMaster.getRefundPayStatus()); orderStandardDetail.setPayStatus(orderMaster.getPayStatus()); orderStandardDetail.setAfterPlatformServiceStatus(orderDetail.getAfterServiceStatus()); orderStandardDetail.setOrderImages(orderDetail.getOrderImages()); @@ -2548,8 +2549,39 @@ public class OrderMasterController extends BaseController { goodsOrderUpdate.setHasServiceOrder(0); // 重置为未派发状态 // goodsOrderUpdate.setServiceShopId((long) -1); // 设置服务主单已撤销标识 - goodsOrderUpdate.setServiceCancelled(1); - goodsOrderUpdate.setShowInMonitor(0); + goodsOrderUpdate.setServiceCancelled(1); + + // 判断商品主单是否仍旧满足监控单条件 + OrderMaster goodsOrder = orderMasterService.selectById(orderMasterInfo.getGoodsOrderMasterId()); + boolean shouldShowInMonitor = false; + + if (goodsOrder != null) { + // 查询商品主单的所有派单详情 + List orderDetails1 = orderDetailService.selectByOrderMasterId(goodsOrder.getId()); + Set assignedWorkIds = orderDetails1.stream() + .map(OrderDetail::getWorkerId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + // 判断是否全部派完 + if (orderMasterService.isAllAssign(goodsOrder.getId())) { + // 派完单的情况下:如果有其他师傅接单(包含其他人),则需要显示在监控单 + if (assignedWorkIds.size() > 1 || !assignedWorkIds.contains(goodsOrder.getWorkerId())) { + shouldShowInMonitor = true; + } + } else { + // 未派完单的情况下:如果派给了非自己的师傅,则需要显示在监控单 + if (assignedWorkIds.size() > 1 || (assignedWorkIds.size() == 1 && !assignedWorkIds.contains(goodsOrder.getWorkerId()))) { + shouldShowInMonitor = true; + } + } + } + + // 只有在不满足监控单条件时才设置为0,否则保持原值 + if (!shouldShowInMonitor) { + goodsOrderUpdate.setShowInMonitor(0); + } + orderMasterService.updateOrderMaster(goodsOrderUpdate); } diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java index d4aed708..ec7f93f4 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java @@ -132,4 +132,6 @@ public class OrderStandardDetail { private Integer afterPlatformServiceStatus; private Integer payStatus; + + private Integer refundPayStatus; }