1
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user