1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 不做处理
|
||||
|
||||
|
||||
Reference in New Issue
Block a user