- 订单取消时,取消所有运单
This commit is contained in:
@@ -259,10 +259,13 @@ func (s *DefScheduler) OnOrderStatusChanged(status *model.OrderStatus, isPending
|
|||||||
// 1,在订单相应事件中取消不是candidate的运单
|
// 1,在订单相应事件中取消不是candidate的运单
|
||||||
// 2,在接收到运单接单时根据状态判断马上取消些运单
|
// 2,在接收到运单接单时根据状态判断马上取消些运单
|
||||||
// 3,在转自送失败(或状态已经是自送时)取消运单
|
// 3,在转自送失败(或状态已经是自送时)取消运单
|
||||||
curWaybill := savedOrderInfo.waybills[savedOrderInfo.order.WaybillVendorID]
|
var curWaybill *model.Waybill
|
||||||
if status.Status == model.OrderStatusDelivered || status.Status == model.OrderStatusFinished {
|
if !(status.Status == model.OrderStatusCanceled) { // 订单取消时,取消所有运单
|
||||||
if curWaybill != nil && curWaybill.WaybillVendorID != curWaybill.OrderVendorID {
|
curWaybill = savedOrderInfo.waybills[savedOrderInfo.order.WaybillVendorID]
|
||||||
globals.SugarLogger.Infof("OnOrderStatusChanged [运营2]订单orderID:%s可能被手动点击送达,会对程序状态产生不利影响,请通知门店不要这样操作!", status.VendorOrderID)
|
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)
|
s.cancelOtherWaybills(savedOrderInfo, curWaybill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrOrderAlreadyFinished)
|
||||||
@@ -546,8 +549,12 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, v := range toBeDeleted {
|
if len(toBeDeleted) > 0 {
|
||||||
s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID)
|
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 {
|
} else {
|
||||||
globals.SugarLogger.Debugf("cancelOtherWaybills, orderID:%s, bill:%v stop schedule", savedOrderInfo.order.VendorOrderID, bill2Keep)
|
globals.SugarLogger.Debugf("cancelOtherWaybills, orderID:%s, bill:%v stop schedule", savedOrderInfo.order.VendorOrderID, bill2Keep)
|
||||||
|
|||||||
Reference in New Issue
Block a user