From ad2182f914e4bc9b3062c589ddc749117787cccb Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 28 Mar 2019 12:51:17 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=9C=A8mergeOrderStatusConfig=E8=A6=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E8=AE=A2=E5=8D=95=E6=98=AF=E5=90=A6=E6=98=AF?= =?UTF-8?q?=E7=9C=9F=E5=AE=9E=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index a26400596..cbbf40b32 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -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