This commit is contained in:
richboo111
2022-12-27 15:25:44 +08:00
parent 80ffd895f8
commit e9e2d9652f
3 changed files with 10 additions and 2 deletions

View File

@@ -1081,7 +1081,7 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(savedOrderInfo *WatchOrderInf
// 这个函数这样写的原因是适应一些消息错序
func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus, isForceLoad bool) *WatchOrderInfo {
universalOrderID := jxutils.ComposeUniversalOrderID(status.RefVendorOrderID, status.RefVendorID)
universalOrderID := jxutils.ComposeUniversalOrderID(status.RefVendorOrderID, status.RefVendorID) // 等于RefVendorOrderID
var realSavedInfo *WatchOrderInfo
if savedInfo, ok := s.orderMap.Load(universalOrderID); ok {
realSavedInfo = savedInfo.(*WatchOrderInfo)
@@ -1089,6 +1089,7 @@ func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus, isForceL
realSavedInfo = NewWatchOrderInfo(nil)
s.orderMap.StoreWithTimeout(universalOrderID, realSavedInfo, orderMapStoreMaxTime)
}
globals.SugarLogger.Debugf("loadSavedOrderFromMap realSavedInfo===========%s", utils.Format4Output(realSavedInfo, false))
if isForceLoad {
if order, err := partner.CurOrderManager.LoadOrder(status.RefVendorOrderID, status.RefVendorID); err == nil {
realSavedInfo.SetOrder(order)
@@ -1102,6 +1103,7 @@ func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus, isForceL
WaybillVendorID: model.VendorIDUnknown,
})
}
globals.SugarLogger.Debugf("loadSavedOrderFromMap realSavedInfo=========%s", utils.Format4Output(realSavedInfo, false))
}
return realSavedInfo
}

View File

@@ -157,6 +157,7 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex
if bills, err = s.CreateWaybillOnProviders(ctx, order, courierVendorIDs, excludeCourierVendorIDs, maxDeliveryFee, forceCreate); err == nil {
if forceCreate {
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
globals.SugarLogger.Debugf("order.DeliveryFlag============%d,order.Status===========%d", order.DeliveryFlag, order.Status)
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
}
if err == nil {
@@ -416,8 +417,9 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI
jxutils.CallMsgHandler(func() {
err = func() (err error) {
// 取消三方运单,取消各平台单号信息,间隔一段时间后定时任务重新调度
globals.SugarLogger.Debugf("CancelAll3rdWaybills vendorOrderID=========%s, vendorID====%d", vendorOrderID, vendorID)
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
globals.SugarLogger.Debugf("savedOrderInfo========%s", utils.Format4Output(savedOrderInfo, false))
globals.SugarLogger.Debugf("savedOrderInfo.order========%s", utils.Format4Output(savedOrderInfo.order, false))
if savedOrderInfo != nil {
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
} else {
@@ -428,6 +430,7 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI
if err == nil && isStopSchedule {
order := savedOrderInfo.order
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
globals.SugarLogger.Debugf("停止调度操作order=========%s", utils.Format4Output(order, false))
if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil {
s.stopTimer(savedOrderInfo)
}

View File

@@ -382,6 +382,7 @@ const (
OrderDeliveryFlagMaskDada = 16 // 创建达达运单中
OrderDeliveryFlagMaskMtps = 32 // 创建美团配送运单中
OrderDeliveryFlagMaskDYPS = 48 //创建抖音运力配送中
)
const (
@@ -520,6 +521,8 @@ func WaybillVendorID2Mask(vendorID int) (mask int8) {
mask = OrderDeliveryFlagMaskDada
} else if vendorID == VendorIDMTPS {
mask = OrderDeliveryFlagMaskMtps
} else if vendorID == VendorIDDYPS {
mask = OrderDeliveryFlagMaskDYPS
}
return mask
}