From 2ef49a83d0b786abdd0671073e4ab9686115e2b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 16 Nov 2020 09:28:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=96=B9=E9=85=8D=E9=80=81=E6=96=B0?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index ed589407e..a086164d5 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -784,6 +784,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf if err = s.canOrderCreateWaybillNormally(order, savedOrderInfo); err == nil { if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 { if savedOrderInfo.retryCount <= maxWaybillRetryCount { + var waybillVendorIDs = []int{model.VendorIDMTPS, model.VendorIDDada} savedOrderInfo.isNeedCreate3rdWaybill = true excludeVendorIDs := savedOrderInfo.GetWaybillVendorIDs() //TODO 取消京西不自动发美团 2020-06-02 @@ -793,7 +794,23 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf //TODO 2020-08-18 饿百美团订单暂时不自动发送三方 if order.VendorID == model.VendorIDMTWM || order.VendorID == model.VendorIDEBAI { if order.DeliveryType != model.OrderDeliveryTypeStoreSelf { - excludeVendorIDs = append(excludeVendorIDs, model.VendorIDMTPS, model.VendorIDDada) + excludeVendorIDs = append(excludeVendorIDs, waybillVendorIDs...) + } + } + + var income int64 + if order.EarningType == model.EarningTypePoints { + income = order.TotalShopMoney * int64((order.OrderPayPercentage / 2)) + } else { + income = order.TotalShopMoney - order.ShopPrice + } + //2020-11-16 预计收益-配送费 > 0 再发 + for _, vendorID := range waybillVendorIDs { + handler := partner.GetDeliveryPlatformFromVendorID(vendorID) + if deliveryFeeInfo, err := handler.Handler.GetWaybillFee(order); err == nil { + if income-deliveryFeeInfo.DeliveryFee <= 0 { + excludeVendorIDs = append(excludeVendorIDs, vendorID) + } } } @@ -818,6 +835,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf } } } + if err == nil { if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil { savedOrderInfo.retryCount++