This commit is contained in:
邹宗楠
2022-08-08 17:00:00 +08:00
parent 9fd2147827
commit ba25a33b3b
2 changed files with 10 additions and 7 deletions

View File

@@ -119,10 +119,12 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
err = utils.CallFuncLogError(func() error {
// 下面这个写法暂存,可能会有问题
//if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation {
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation && (strings.Contains(err.Error(), "1047") || !strings.Contains(err.Error(), "301251"))) {
c.Swtich2SelfDeliver(order, userName)
bill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
c.CancelWaybill(bill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) {
if strings.Contains(err.Error(), "1047") {
c.Swtich2SelfDeliver(order, userName)
bill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
c.CancelWaybill(bill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
}
}
return err
}, "SelfDeliverDelivering orderID:%s", order.VendorOrderID)
@@ -243,7 +245,6 @@ func (c *BaseScheduler) CancelWaybill(bill *model.Waybill, cancelReasonID int, c
if err := handlerInfo.Handler.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
return err
}
globals.SugarLogger.Debug("=================正儿八经去平台取消订单")
order, _ := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID)
return orderman.ResetCreateWaybillFee(nil, order)
}, "CancelWaybill bill:%v", bill); err == nil {

View File

@@ -1033,8 +1033,10 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
order := savedOrderInfo.order
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 && (strings.Contains(err.Error(), "1047") || !strings.Contains(err.Error(), "301251"))) { //301251饿了转自送 1047美团混合送
s.SelfDeliverDelivering(order, "非专送、快送、混合送订单转自送失败调用deriving转自送")
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() {