diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java index 91551444..604809b7 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java @@ -457,12 +457,11 @@ public class OrderMasterServiceImpl implements OrderMasterService { Assert.notNull(orderMaster, "OrderMaster is null!!!"); // 先判断主订单是否派完单 List masterGoods = orderGoodsService.selectByOrderMasterId(orderMasterId); - for (OrderGoods orderGoods : masterGoods) { - // 是否有未派完的子单 - if (!orderGoods.getGoodsNum().equals(orderGoods.getServerGoodsNum())) { - return false; - } - } - return true; + long masterCount = masterGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum(); + long detailCount = orderDetailService.selectByOrderMasterId(orderMasterId).stream().mapToInt(x -> { + List detailGoods = orderGoodsService.selectByOrderDetailId(x.getId()); + return detailGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum(); + }).sum(); + return masterCount == detailCount; } }