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++