- 在mergeOrderStatusConfig要判断订单是否是真实订单

This commit is contained in:
gazebo
2019-03-28 12:51:17 +08:00
parent bd93178f10
commit ad2182f914

View File

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