- 在mergeOrderStatusConfig要判断订单是否是真实订单
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user