This commit is contained in:
邹宗楠
2022-10-31 15:00:10 +08:00
parent d6cef286c2
commit efd68f9150
12 changed files with 36 additions and 28 deletions

View File

@@ -517,6 +517,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
// globals.SugarLogger.Debugf("从美团上获取门店失败:%s", err)
// isBlendWay = strings.Contains(mtStoreInfo.LogisticsCodes, model.MTWMStorePSWay8)
//}
//if order.VendorID == model.VendorIDDD {
// partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrderRider()
//}
// 暂时只处理抖音平台,抖音暂无配送,只要是抖音订单,三方配送压单了,直接通知送出
if bill.Status == model.WaybillStatusNew {
@@ -1019,7 +1022,7 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInfo, bill *model.Waybill, retryCount int, duration time.Duration) {
order := savedOrderInfo.order
if order.WaybillVendorID != order.VendorID {
if err := s.Swtich2SelfDeliver(order, "Swtich2SelfDeliver转自送"); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) { //301251饿了转自送 1047美团混合送
if err := s.Swtich2SelfDeliver(order, "Swtich2SelfDeliver转自送"); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation && err != scheduler.ErrOrderStatusShippedCurOperation) { //301251饿了转自送 1047美团混合送
partner.CurOrderManager.OnOrderMsg(order, "调用[swtich2SelfDeliverWithRetry]转自送", err.Error())
if retryCount > 0 {
utils.AfterFuncWithRecover(duration, func() {
@@ -1047,7 +1050,6 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
// todo 之前这里为什么要设置OrderDeliveryFlagMaskScheduleDisabled标志呢
// order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
// partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", errStr)
}
}
@@ -1060,10 +1062,8 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrNotAcceptIntime)
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到),所以转自送会失败 比如818810379000941更好的做法应该是判断Swtich2SelfDeliver的返回值这种情况下就不得试了
partner.CurOrderManager.OnOrderMsg(order, "转商家自配送失败", "平台物流已接单")
// globals.SugarLogger.Warnf("swtich2SelfDeliverWithRetry orderID:%s status is wrong, order details:%v", order.VendorOrderID, order)
}
}

View File

@@ -30,6 +30,7 @@ var (
var (
ErrOrderStatusIsNotSuitable4CurOperation = errors.New("订单锁定或状态不适合当前操作")
ErrOrderStatusAlreadySatisfyCurOperation = errors.New("订单当前状态已满足当前操作")
ErrOrderStatusShippedCurOperation = errors.New("订单已发货,不允许再次执行发货")
ErrOrderStatusAlreadySatisfyCurOperationELM = errors.New("无需切自配送")
ErrOrderStatusAlreadySatisfyCurOperationMTWM = errors.New("非专送、快送、混合送订单不允许调用此接口 level:0, code:1047")