This commit is contained in:
邹宗楠
2022-08-26 14:47:50 +08:00
parent 7bbc5b8bb7
commit 3d1077afb6
2 changed files with 7 additions and 6 deletions

View File

@@ -120,10 +120,12 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
// 下面这个写法暂存,可能会有问题
//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) {
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[SelfDeliverDelivering]转自送", err.Error())
if strings.Contains(err.Error(), "1047") {
c.Swtich2SelfDeliver(order, userName)
err2 := c.Swtich2SelfDeliver(order, userName)
bill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
c.CancelWaybill(bill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[Swtich2SelfDeliver]转自送", err2.Error())
}
}
return err

View File

@@ -601,7 +601,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
globals.SugarLogger.Debugf("OnWaybillStatusChanged bill not exist! orderID:%s, bill:%v", bill.VendorOrderID, bill)
}
switch bill.Status {
case model.WaybillStatusAccepted, model.WaybillStatusCourierArrived, model.WaybillStatusDelivering:
case model.WaybillStatusAccepted, model.WaybillStatusCourierAssigned, model.WaybillStatusCourierArrived, model.WaybillStatusDelivering:
s.resetTimer(savedOrderInfo, bill, isPending)
if (isBillExist || bill.WaybillVendorID != model.VendorIDDada) && !isPending { // todo 达达运单有错序的情况,临时看看
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
@@ -1039,10 +1039,9 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInfo, bill *model.Waybill, retryCount int, duration time.Duration) {
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) { //301251饿了转自送 1047美团混合送
globals.SugarLogger.Infof("swtich2SelfDeliverWithRetry failed, bill:%v, err:%v", bill, err)
if err := s.Swtich2SelfDeliver(order, "Swtich2SelfDeliver转自送"); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) { //301251饿了转自送 1047美团混合送
partner.CurOrderManager.OnOrderMsg(order, "调用[swtich2SelfDeliverWithRetry]转自送", err.Error())
if retryCount > 0 {
utils.AfterFuncWithRecover(duration, func() {
jxutils.CallMsgHandlerAsync(func() {
@@ -1057,7 +1056,7 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
if err := s.SelfDeliverDelivering(order, "非专送、快送、混合送订单转自送失败调用deriving转自送"); err != nil {
s.notify3rdPartyWaybill(order, bill, false)
s.removeWaybillFromMap(savedOrderInfo, order.VendorID)
partner.CurOrderManager.OnOrderMsg(order, "转自送成功", "")
partner.CurOrderManager.OnOrderMsg(order, "调用[SelfDeliverDelivering]转自送", err.Error())
}
} else if strings.Contains(err.Error(), "301251") { //elm 不做处理