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 {