From 7a4700480cadfc11564a4325dae17d4e29a6003b Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 23 九月 2025 16:48:35 +0800 Subject: [PATCH] 订单发货问题 --- framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java | 26 +++++++++++++++++++++++--- 1 files changed, 23 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index d458917..fc44324 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -1246,12 +1246,31 @@ orderLogService.saveBatch(orderLogList); //鍒ゆ柇璁㈠崟璐х墿鏄惁鍏ㄩ儴鍙戣揣瀹屾瘯 Boolean delivery = true; + log.info("鎵撳嵃璁㈠崟璐х墿:{}",orderItemList); + + //闇�瑕佸啀姝ゅ鍒ゆ柇璁㈠崟鏄惁鏈夌敵璇峰敭鍚庣姸鎬� for (OrderItem orderItem : orderItemList) { - if (orderItem.getDeliverNumber() < orderItem.getNum()) { - delivery = false; - break; + // 鍏堝垽鏂槸鍚︽槸鏈敵璇峰敭鍚庣殑璁㈠崟 + if (OrderItemAfterSaleStatusEnum.NOT_APPLIED.name().equals(orderItem.getAfterSaleStatus())){ + // 鍙戣揣鏁伴噺灏忎簬璁㈠崟鏁伴噺鍒欏叏鍙� + log.info("鎵撳嵃鍙戣揣鏁伴噺锛歿},璇ュ晢鍝佽鍗曟暟閲忚揣鐗╁搴旂殑:{}",orderItem.getDeliverNumber(),orderItem.getNum()); + if (orderItem.getDeliverNumber() < orderItem.getNum()) { + delivery = false; + break; + } + }else{ + //鍏ㄩ儴閫�鍥炴儏鍐� + if(Objects.equals(orderItem.getReturnGoodsNumber(), orderItem.getNum())){ + break; + } + //瀛樺湪鎯呭喌 閫�鍥炴暟閲忎笉鏄叏閮ㄩ��鍥炶�屾槸閮ㄥ垎閫�鍥� + if (orderItem.getReturnGoodsNumber() + orderItem.getDeliverNumber() < orderItem.getNum()) { + delivery = false; + break; + } } } + log.info("delivery鐘舵��:{}",delivery); //鏄惁鍏ㄩ儴鍙戣揣 if (delivery) { return delivery(orderSn, invoiceNumber, logisticsId); @@ -1283,6 +1302,7 @@ for (Order unpaidOrder : unpaidOrders) { this.systemCancel(unpaidOrder.getSn(), "鎷煎洟娲诲姩缁撴潫璁㈠崟鏈粯娆撅紝绯荤粺鑷姩鍙栨秷璁㈠崟", false); } + } List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name()); //濡傚緟鍙傚洟浜烘暟澶т簬0锛屽苟宸插紑鍚櫄鎷熸垚鍥� -- Gitblit v1.8.0