From ef88fd0fb663d18e61d7eeae0cddca9b2fe5a486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 20 May 2020 16:10:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=A7=84=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdshopapi/sku.go | 27 +++++++++++++++++++++++++++ platformapi/jdshopapi/sku_test.go | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/platformapi/jdshopapi/sku.go b/platformapi/jdshopapi/sku.go index fd146013..4a7f72bd 100644 --- a/platformapi/jdshopapi/sku.go +++ b/platformapi/jdshopapi/sku.go @@ -489,3 +489,30 @@ func (a *API) DeleteSku(skuId int64) (err error) { }) return err } + +type FindSkuByIdParam struct { + Status int `json:"status"` + JdPrice float64 `json:"jdPrice"` + SaleAttrs []struct { + AttrID string `json:"attrId"` + Index int `json:"index"` + AttrValueAlias []string `json:"attrValueAlias"` + AttrValues []string `json:"attrValues"` + } `json:"saleAttrs"` + SkuID int64 `json:"skuId"` + WareID int64 `json:"wareId"` + OuterID string `json:"outerId"` +} + +//获取单个sku +//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1223&apiName=jingdong.sku.read.findSkuById +func (a *API) FindSkuById(skuId int64) (findSkuByIdParam *FindSkuByIdParam, err error) { + result, err := a.AccessAPI2("jingdong.sku.read.findSkuById", prodURL, map[string]interface{}{ + "skuId": skuId, + "field": "saleAttrs", + }) + if err == nil { + utils.Map2StructByJson(result["jingdong_sku_read_findSkuById_responce"].(map[string]interface{})["sku"], &findSkuByIdParam, false) + } + return findSkuByIdParam, err +} diff --git a/platformapi/jdshopapi/sku_test.go b/platformapi/jdshopapi/sku_test.go index 1487e5a3..94703604 100644 --- a/platformapi/jdshopapi/sku_test.go +++ b/platformapi/jdshopapi/sku_test.go @@ -360,3 +360,11 @@ func TestDeleteSku(t *testing.T) { } // t.Log(utils.Format4Output(result, false)) } + +func TestFindSkuById(t *testing.T) { + result, err := api.FindSkuById(69576828876) + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +}