diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index eb7904502..971706f2f 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -643,6 +643,9 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf s.updateOrderByBill(order, nil, false) } } + order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled + partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"}) + partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", errStr) } } else { @@ -653,6 +656,9 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf } } else { s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrNotAcceptIntime) + order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled + partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"}) + // 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到),所以转自送会失败 (比如:818810379000941),更好的做法应该是判断Swtich2SelfDeliver的返回值,这种情况下就不得试了 globals.SugarLogger.Infof("swtich2SelfDeliverWithRetry orderID:%s status is wrong(maybe purchase platform accepted waybill)", order.VendorOrderID) partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", "平台物流已接单")