- 在mergeOrderStatusConfig要判断订单是否是真实订单
This commit is contained in:
@@ -810,34 +810,36 @@ func (s *DefScheduler) mergeOrderStatusConfig(order *model.GoodsOrder, statusTyp
|
||||
retVal = &StatusActionConfig{}
|
||||
*retVal = *defConfig
|
||||
|
||||
var vendorActionParams *partner.StatusActionParams
|
||||
if order.BusinessType != model.BusinessTypeImmediate {
|
||||
if jxutils.IsTimeEmpty(order.ExpectedDeliveredTime) {
|
||||
globals.SugarLogger.Warnf("mergeOrderStatusConfig orderID:%s 非立即达订单没有预计送达时间, orderDetail:%s", order.VendorOrderID, utils.Format4Output(order, false))
|
||||
} else if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusFinishedPickup { // 这个只针对自配送门店才有效
|
||||
vendorActionParams = &partner.StatusActionParams{
|
||||
TimerType: partner.TimerTypeBaseNow,
|
||||
Timeout: order.ExpectedDeliveredTime.Sub(time.Now()) - dingShiDaAheadTime,
|
||||
TimeoutGap: -1,
|
||||
}
|
||||
} else if statusType == scheduler.TimerStatusTypeWaybill && status == model.WaybillStatusNew { // 因为有些平台(比如美团外卖)的定时达单,很早就创建运单了
|
||||
vendorActionParams = &partner.StatusActionParams{
|
||||
TimerType: partner.TimerTypeBaseNow,
|
||||
Timeout: order.ExpectedDeliveredTime.Sub(time.Now()) - dingShiDaAheadTime,
|
||||
TimeoutGap: -1,
|
||||
if model.IsOrderSolid(order) {
|
||||
var vendorActionParams *partner.StatusActionParams
|
||||
if order.BusinessType != model.BusinessTypeImmediate {
|
||||
if jxutils.IsTimeEmpty(order.ExpectedDeliveredTime) {
|
||||
globals.SugarLogger.Warnf("mergeOrderStatusConfig orderID:%s 非立即达订单没有预计送达时间, orderDetail:%s", order.VendorOrderID, utils.Format4Output(order, false))
|
||||
} else if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusFinishedPickup { // 这个只针对自配送门店才有效
|
||||
vendorActionParams = &partner.StatusActionParams{
|
||||
TimerType: partner.TimerTypeBaseNow,
|
||||
Timeout: order.ExpectedDeliveredTime.Sub(time.Now()) - dingShiDaAheadTime,
|
||||
TimeoutGap: -1,
|
||||
}
|
||||
} else if statusType == scheduler.TimerStatusTypeWaybill && status == model.WaybillStatusNew { // 因为有些平台(比如美团外卖)的定时达单,很早就创建运单了
|
||||
vendorActionParams = &partner.StatusActionParams{
|
||||
TimerType: partner.TimerTypeBaseNow,
|
||||
Timeout: order.ExpectedDeliveredTime.Sub(time.Now()) - dingShiDaAheadTime,
|
||||
TimeoutGap: -1,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if vendorActionParams == nil {
|
||||
vendorActionParams = partner.GetPurchasePlatformFromVendorID(purchaseVendorID).GetStatusActionTimeout(order, statusType, status)
|
||||
}
|
||||
if vendorActionParams != nil {
|
||||
retVal.Timeout = vendorActionParams.Timeout
|
||||
if vendorActionParams.TimeoutGap >= 0 {
|
||||
retVal.TimeoutGap = vendorActionParams.TimeoutGap
|
||||
if vendorActionParams == nil {
|
||||
vendorActionParams = partner.GetPurchasePlatformFromVendorID(purchaseVendorID).GetStatusActionTimeout(order, statusType, status)
|
||||
}
|
||||
if vendorActionParams.TimerType != partner.TimerTypeNoOverride {
|
||||
retVal.TimerType = vendorActionParams.TimerType
|
||||
if vendorActionParams != nil {
|
||||
retVal.Timeout = vendorActionParams.Timeout
|
||||
if vendorActionParams.TimeoutGap >= 0 {
|
||||
retVal.TimeoutGap = vendorActionParams.TimeoutGap
|
||||
}
|
||||
if vendorActionParams.TimerType != partner.TimerTypeNoOverride {
|
||||
retVal.TimerType = vendorActionParams.TimerType
|
||||
}
|
||||
}
|
||||
}
|
||||
return retVal
|
||||
|
||||
Reference in New Issue
Block a user