From 27e8e18b5bc57472211a1088288218e196b9a0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 4 Mar 2022 19:56:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BE=8E=E5=9B=A2=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch_ext.go | 3 ++- business/model/api_config.go | 6 +++--- business/partner/delivery/mtps/waybill.go | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index 2262468f1..a19e398f5 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -125,7 +125,7 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex if forceCreate { maxDeliveryFee = math.MaxInt64 } - // 生成美团订单 + // 生成美团订单(三方订单) if bills, err = s.CreateWaybillOnProviders(ctx, order, courierVendorIDs, excludeCourierVendorIDs, maxDeliveryFee, forceCreate); err == nil { if forceCreate { order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled @@ -332,6 +332,7 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI return err } +// 查询三方运单费用 func (s *DefScheduler) QueryOrderWaybillFeeInfoEx(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (deliveryFeeMap map[int]*partner.WaybillFeeInfo, err error) { jxutils.CallMsgHandler(func() { deliveryFeeMap, err = func() (deliveryFeeMap map[int]*partner.WaybillFeeInfo, err error) { diff --git a/business/model/api_config.go b/business/model/api_config.go index df951ea85..eac9c0ad4 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -24,9 +24,9 @@ const ( VendorIDWXPay = 51 // 微信支付 VendorIDDeliveryBegin = 101 - VendorIDDada = 101 - VendorIDMTPS = 102 - VendorIDFengNiao = 103 + VendorIDDada = 101 // 达达配送 + VendorIDMTPS = 102 // 美团配送 + VendorIDFengNiao = 103 // 蜂鸟配送 VendorIDJDWL = 401 //京东物流 VendorIDDeliveryEnd = 500 diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index e6059b9c2..6ad19a6aa 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -4,6 +4,7 @@ import ( "crypto/sha1" "errors" "fmt" + "math/rand" "net/http" "net/url" "sort" @@ -179,6 +180,21 @@ func (c *DeliveryHandler) callbackMsg2Waybill(msg *mtpsapi.CallbackOrderMsg) (re func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { db := dao.GetDB() deliveryFeeInfo = &partner.WaybillFeeInfo{} + api.MtpsAPI.PreCreateByShop(&mtpsapi.PreCreateByShopParam{ + DeliveryID: time.Now().Unix()*100 + int64(rand.Intn(2)), + OrderID: order.VendorOrderID, + ShopID: utils.Int2Str(order.StoreID), + DeliveryServiceCode: mtpsapi.DeliveryServiceCodeIntime, + ReceiverName: order.ConsigneeName, + ReceiverAddress: order.ConsigneeAddress, + ReceiverPhone: order.ConsigneeMobile, + ReceiverLng: order.ConsigneeLng, + ReceiverLat: order.ConsigneeLat, + GoodsValue: utils.Int64ToFloat64(order.ActualPayPrice), + GoodsWeight: utils.Int2Float64(order.Weight), + PayTypeCode: 0, + OuterOrderSourceDesc: "101", + }) deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = delivery.CalculateOrderDeliveryFee(order, time.Now(), db) if err == nil { if _, err = c.getMTPSShopID(order, db); err == nil {