From bcf8f3164e9afa3d7fb0d32f692657d903254a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Sat, 5 Mar 2022 16:07:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=84=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=85=8D=E9=80=81=E8=B4=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/delivery/mtps/waybill.go | 67 ++++++++++++----------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index f2d2eb933..687d1f108 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -4,6 +4,8 @@ import ( "crypto/sha1" "errors" "fmt" + "git.rosy.net.cn/baseapi" + "math/rand" "net/http" "net/url" "sort" @@ -176,42 +178,11 @@ func (c *DeliveryHandler) callbackMsg2Waybill(msg *mtpsapi.CallbackOrderMsg) (re return retVal } -func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { - db := dao.GetDB() - deliveryFeeInfo = &partner.WaybillFeeInfo{} - deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = delivery.CalculateOrderDeliveryFee(order, time.Now(), db) - if err == nil { - if _, err = c.getMTPSShopID(order, db); err == nil { - deliveryFeeInfo.DeliveryFee = deliveryFeeInfo.RefDeliveryFee - } - } - return deliveryFeeInfo, err -} - -// -//// todo 是否应该语法订单 +// 老方法是自己计算 //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) -// baseapi.SugarLogger.Debug("errrr:=====", err) -// baseapi.SugarLogger.Debug("delFee:=====", deliveryFeeInfo.RefDeliveryFee) -// baseapi.SugarLogger.Debug("FeeInfo:=====", deliveryFeeInfo.RefAddFee) // if err == nil { // if _, err = c.getMTPSShopID(order, db); err == nil { // deliveryFeeInfo.DeliveryFee = deliveryFeeInfo.RefDeliveryFee @@ -220,6 +191,38 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf // return deliveryFeeInfo, err //} +// 新方法平台返回 +func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { + db := dao.GetDB() + deliveryFeeInfo = &partner.WaybillFeeInfo{} + deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = 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, + ExpectedDeliveryTime: 4012, // 4002飞速达,4011快速达,4012及时达,4013集中送 + OuterOrderSourceDesc: "101", + }) + //deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = delivery.CalculateOrderDeliveryFee(order, time.Now(), db) + baseapi.SugarLogger.Debug("errrr:=====", err) + baseapi.SugarLogger.Debug("delFee:=====", deliveryFeeInfo.RefDeliveryFee) + baseapi.SugarLogger.Debug("FeeInfo:=====", deliveryFeeInfo.RefAddFee) + if err != nil { + if _, err = c.getMTPSShopID(order, db); err == nil { + deliveryFeeInfo.DeliveryFee = deliveryFeeInfo.RefDeliveryFee + } + } + return deliveryFeeInfo, err +} + // IDeliveryPlatformHandler(美团配送) func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) { db := dao.GetDB()