This commit is contained in:
邹宗楠
2022-08-08 17:44:13 +08:00
parent 407e65f614
commit a5900a4a69

View File

@@ -1034,9 +1034,6 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
globals.SugarLogger.Debugf("swtich2SelfDeliverWithRetry orderID:%s", order.VendorOrderID)
if order.WaybillVendorID != order.VendorID { // && err != scheduler.ErrOrderStatusAlreadySatisfyCurOperationELM && err != scheduler.ErrOrderStatusAlreadySatisfyCurOperationMTWM
if err := s.Swtich2SelfDeliver(order, ""); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) { //301251饿了转自送 1047美团混合送
if strings.Contains(err.Error(), "1047") {
s.SelfDeliverDelivering(order, "非专送、快送、混合送订单转自送失败调用deriving转自送")
}
globals.SugarLogger.Infof("swtich2SelfDeliverWithRetry failed, bill:%v, err:%v", bill, err)
if retryCount > 0 {
utils.AfterFuncWithRecover(duration, func() {
@@ -1047,17 +1044,27 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
} else {
errStr := fmt.Sprintf("订单:%s转自配送失败, 错误信息:%v", order.VendorOrderID, err)
globals.SugarLogger.Info(errStr)
if s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonSwitch2SelfFailed, partner.CancelWaybillReasonStrSwitch2SelfFailed) == nil {
// 转自送失败的取消,要将订单中的运单状态更新
if s.isBillCandidate(order, bill) {
s.updateOrderByBill(order, nil, false)
if strings.Contains(err.Error(), "1047") {
if err := s.SelfDeliverDelivering(order, "非专送、快送、混合送订单转自送失败调用deriving转自送"); err != nil {
s.notify3rdPartyWaybill(order, bill, false)
s.removeWaybillFromMap(savedOrderInfo, order.VendorID)
partner.CurOrderManager.OnOrderMsg(order, "转自送成功", "")
}
}
// todo 之前这里为什么要设置OrderDeliveryFlagMaskScheduleDisabled标志呢
// order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
// partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
} else if strings.Contains(err.Error(), "301251") { //elm 不做处理
partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", errStr)
} else {
if s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonSwitch2SelfFailed, partner.CancelWaybillReasonStrSwitch2SelfFailed) == nil {
// 转自送失败的取消,要将订单中的运单状态更新
if s.isBillCandidate(order, bill) {
s.updateOrderByBill(order, nil, false)
}
}
// todo 之前这里为什么要设置OrderDeliveryFlagMaskScheduleDisabled标志呢
// order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
// partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", errStr)
}
}
} else {
s.notify3rdPartyWaybill(order, bill, false)