From 3ea347f25e04b77e0639e8526fa77e03bf7da059 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 21 Feb 2019 11:23:09 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E8=AE=A2=E5=8D=95=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=8F=96=E6=B6=88=E6=89=80=E6=9C=89=E8=BF=90?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 980161698..cf74f1fd6 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -259,10 +259,13 @@ func (s *DefScheduler) OnOrderStatusChanged(status *model.OrderStatus, isPending // 1,在订单相应事件中取消不是candidate的运单 // 2,在接收到运单接单时根据状态判断马上取消些运单 // 3,在转自送失败(或状态已经是自送时)取消运单 - curWaybill := savedOrderInfo.waybills[savedOrderInfo.order.WaybillVendorID] - if status.Status == model.OrderStatusDelivered || status.Status == model.OrderStatusFinished { - if curWaybill != nil && curWaybill.WaybillVendorID != curWaybill.OrderVendorID { - globals.SugarLogger.Infof("OnOrderStatusChanged [运营2]订单orderID:%s可能被手动点击送达,会对程序状态产生不利影响,请通知门店不要这样操作!", status.VendorOrderID) + var curWaybill *model.Waybill + if !(status.Status == model.OrderStatusCanceled) { // 订单取消时,取消所有运单 + curWaybill = savedOrderInfo.waybills[savedOrderInfo.order.WaybillVendorID] + if status.Status == model.OrderStatusDelivered || status.Status == model.OrderStatusFinished { + if curWaybill != nil && curWaybill.WaybillVendorID != curWaybill.OrderVendorID { + globals.SugarLogger.Infof("OnOrderStatusChanged [运营2]订单orderID:%s可能被手动点击送达,会对程序状态产生不利影响,请通知门店不要这样操作!", status.VendorOrderID) + } } } s.cancelOtherWaybills(savedOrderInfo, curWaybill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrOrderAlreadyFinished) @@ -546,8 +549,12 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2 } } } - for _, v := range toBeDeleted { - s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID) + if len(toBeDeleted) > 0 { + for _, v := range toBeDeleted { + s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID) + } + } else { + globals.SugarLogger.Debugf("cancelOtherWaybills, orderID:%s, bill:%v cancel 0 bills", savedOrderInfo.order.VendorOrderID, bill2Keep) } } else { globals.SugarLogger.Debugf("cancelOtherWaybills, orderID:%s, bill:%v stop schedule", savedOrderInfo.order.VendorOrderID, bill2Keep)