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