From a873eb5a060feb6946e88737ce017cbb8dbeabd8 Mon Sep 17 00:00:00 2001 From: lyb Date: Thu, 9 Aug 2018 18:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/controller/jd/order.go | 40 ++++++++-------------------- business/controller/jd/order_test.go | 7 +++++ business/model/const.go | 2 ++ 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/business/controller/jd/order.go b/business/controller/jd/order.go index e61d72358..681f693c1 100644 --- a/business/controller/jd/order.go +++ b/business/controller/jd/order.go @@ -10,7 +10,6 @@ import ( "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/scheduler" - "git.rosy.net.cn/jx-callback/business/util" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/jx-callback/legacy/freshfood" @@ -71,9 +70,8 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err error) { result, err := api.JdAPI.QuerySingleOrder(orderID) - bussResult, bussErr := api.JdAPI.QueryOassBussMoney(orderID) // globals.SugarLogger.Info(result) - if err == nil && bussErr == nil { + if err == nil { order = &model.GoodsOrder{ VendorOrderID: orderID, VendorID: model.VendorIDJD, @@ -140,37 +138,21 @@ func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err order.Weight += sku.Weight * sku.Count } } - setOrederDetailFee(bussResult, result, order) + setOrederDetailFee(result, order) return order, err } -func setOrederDetailFee(bussResult []interface{}, result map[string]interface{}, order *model.GoodsOrder) { - var skuTotalPmFee, orderPmFee, skuTotalPmSubsidy, orderPmSubsidy int64 - for _, value := range bussResult { - OassBussinessSkusNew := value.(map[string]interface{}) - discountlist := OassBussinessSkusNew["discountlist"].([]interface{}) - promotionType := utils.MustInterface2Int64(OassBussinessSkusNew["promotionType"]) - skuId := utils.MustInterface2Int64(OassBussinessSkusNew["skuId"]) - for _, value := range discountlist { - OrderBussiDiscountMoney := value.(map[string]interface{}) - if isHave, _ := util.Contain(promotionType, model.JdSkuPromotion); isHave == true { - singleSkuPmFee := utils.MustInterface2Int64(OrderBussiDiscountMoney["saleMoney"]) - skuTotalPmFee += singleSkuPmFee - singleSkuPmSubsidy := utils.MustInterface2Int64(OrderBussiDiscountMoney["costMoney"]) - skuTotalPmSubsidy += singleSkuPmSubsidy - setSkuDetailFee(singleSkuPmFee, singleSkuPmSubsidy, order, skuId) - } else { - orderPmFee += utils.MustInterface2Int64(OrderBussiDiscountMoney["saleMoney"]) - orderPmSubsidy += utils.MustInterface2Int64(OrderBussiDiscountMoney["costMoney"]) - } - } - } - order.SkuTotalPmFee = skuTotalPmFee - order.OrderPmFee = orderPmFee - order.SkuTotalPmSubsidy = skuTotalPmSubsidy - order.OrderPmSubsidy = orderPmSubsidy +func setOrederDetailFee(result map[string]interface{}, order *model.GoodsOrder) { order.BoxFee = utils.MustInterface2Int64(result["packagingMoney"]) order.PlatformFeeRate = model.JdPlatformFeeRate + var StoreFreightFee int64 + + if utils.Interface2String(result["deliveryCarrierNo"]) == model.NoJdDeliveryCarrierNo { + StoreFreightFee = 0 + } else { + StoreFreightFee = utils.MustInterface2Int64(result["merchantPaymentDistanceFreightMoney"]) + utils.MustInterface2Int64(result["tips"]) + } + order.BillStoreFreightFee = StoreFreightFee } func setSkuDetailFee(skuPmFee int64, skuPmSubsidy int64, order *model.GoodsOrder, skuId int64) { diff --git a/business/controller/jd/order_test.go b/business/controller/jd/order_test.go index 0cbda7a2c..92d1a9664 100644 --- a/business/controller/jd/order_test.go +++ b/business/controller/jd/order_test.go @@ -33,3 +33,10 @@ func TestSwitch2SelfDeliver(t *testing.T) { t.Fatal(err.Error()) } } + +func Test_GetOrder(t *testing.T) { + _, err := new(OrderController).GetOrder("815536199000222") + if err != nil { + panic(err.Error()) + } +} diff --git a/business/model/const.go b/business/model/const.go index 93c64fbb1..8fa073eb3 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -126,6 +126,8 @@ const ( var ( JdSkuPromotion = [10]int64{2, 3, 4, 1203, 6, 9998, 9997, 9996, 8, 8001} + //京东众包编号 + NoJdDeliveryCarrierNo string = "2938" ) const (