From a48b398698eeee96be8ffb1f9f90c0aa13479795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 18 May 2020 14:25:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=97=A8=E5=BA=97=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdshopapi/jxshopapi_test.go | 5 ++++- platformapi/jdshopapi/sku.go | 9 +++++++++ platformapi/jdshopapi/sku_test.go | 8 ++++++++ platformapi/jdshopapi/store.go | 21 ++++++++++++++++++++- platformapi/jdshopapi/store_test.go | 8 ++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) diff --git a/platformapi/jdshopapi/jxshopapi_test.go b/platformapi/jdshopapi/jxshopapi_test.go index 5da80f72..9b82deb9 100644 --- a/platformapi/jdshopapi/jxshopapi_test.go +++ b/platformapi/jdshopapi/jxshopapi_test.go @@ -15,5 +15,8 @@ func init() { sugarLogger = logger.Sugar() baseapi.Init(sugarLogger) api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608") - api.SetCookie("thor", "80FAF09E9A09B6E618A68057BDFCFCB8A8C57DD560CF7359196563E623D38D86645912FA6F45288311E43F3C66E9B482E154A262CA6F647D9A7541EFD9D246A8391A25C4771B7AA6FCA60D3A745F62BD7903251BD5C9013167682D66528039829E46183AACE0BB4104BFB0D7FA948D689CAF9F13995067DAD9AE6B89E24DAB9E918504749B3331C8E2974A5C2994424D") + // api.SetCookie("thor", "80FAF09E9A09B6E618A68057BDFCFCB8A8C57DD560CF7359196563E623D38D861A6F1385BF97F393DC9DF698C31B135CF8581989CEA89547A4DFD2082DF65677236A67EEE90E058628E86F6A01FBA9044CEC983112F7D3303F7EC83A75677A6B8172D7C1E4F6C1AEC55AF5737133FD6191830B23DEA63A829AC02708580AF9D21F29EB88918E95FBB55A54FCA03C2C8A") + api.SetCookieWithStr(` + thor=80FAF09E9A09B6E618A68057BDFCFCB8A8C57DD560CF7359196563E623D38D861A6F1385BF97F393DC9DF698C31B135CF8581989CEA89547A4DFD2082DF65677236A67EEE90E058628E86F6A01FBA9044CEC983112F7D3303F7EC83A75677A6B8172D7C1E4F6C1AEC55AF5737133FD6191830B23DEA63A829AC02708580AF9D21F29EB88918E95FBB55A54FCA03C2C8A; b-sec=S2JWP6CAFP7K4I6PXVBUVCO6YVXUX2JAPDHLX5RZUDE4YKCGOEXCIPM7K4YWXRXHIKTGIB3OVQ7UM; + `) } diff --git a/platformapi/jdshopapi/sku.go b/platformapi/jdshopapi/sku.go index 1b979939..e4a30c6d 100644 --- a/platformapi/jdshopapi/sku.go +++ b/platformapi/jdshopapi/sku.go @@ -392,3 +392,12 @@ func (a *API) UpOrDown(wareId int64, opType int) (err error) { }) return err } + +//获取sku库存信息 +//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1239&apiName=jingdong.stock.read.findSkuStock +func (a *API) FindSkuStock(skuId int64) (err error) { + _, err = a.AccessAPI("jingdong.stock.read.findSkuStock", prodURL, map[string]interface{}{ + "skuId": skuId, + }) + return err +} diff --git a/platformapi/jdshopapi/sku_test.go b/platformapi/jdshopapi/sku_test.go index 160dfe30..c6fa2e51 100644 --- a/platformapi/jdshopapi/sku_test.go +++ b/platformapi/jdshopapi/sku_test.go @@ -280,3 +280,11 @@ func TestUpdateWare(t *testing.T) { } // t.Log(utils.Format4Output(result, false)) } + +func TestFindSkuStock(t *testing.T) { + err := api.FindSkuStock(69411607059) + if err != nil { + t.Fatal(err) + } + // t.Log(utils.Format4Output(result, false)) +} diff --git a/platformapi/jdshopapi/store.go b/platformapi/jdshopapi/store.go index 273cef7d..ca3cdb61 100644 --- a/platformapi/jdshopapi/store.go +++ b/platformapi/jdshopapi/store.go @@ -56,7 +56,12 @@ func (a *API) CreateEntityStore(createEntityStoreParam *CreateEntityStoreParam) //修改门店 //https://open.jd.com/home/home#/doc/api?apiCateId=55&apiId=2221&apiName=jingdong.updateEntityStore func (a *API) UpdateEntityStore(updateEntityStoreParam *UpdateEntityStoreParam) (err error) { - _, err = a.AccessAPI("jingdong.updateEntityStore", prodURL, utils.Struct2FlatMap(updateEntityStoreParam)) + result, err := a.AccessAPI("jingdong.updateEntityStore", prodURL, utils.Struct2FlatMap(updateEntityStoreParam)) + if err == nil { + if !result["jingdong_updateEntityStore_responce"].(map[string]interface{})["updateentitystore_result"].(map[string]interface{})["success"].(bool) { + return fmt.Errorf(result["jingdong_createEntityStore_responce"].(map[string]interface{})["createentitystore_result"].(map[string]interface{})["message"].(string)) + } + } return err } @@ -102,3 +107,17 @@ func (a *API) GetCounty(parentID int) (getAddressCodeResult []*GetAddressCodeRes } return getAddressCodeResult, err } + +//查询门店库存 +//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=2983&apiName=jingdong.stock.read.findSkuSiteStock +func (a *API) FindSkuSiteStock(siteId int, skuId int64) (getAddressCodeResult []*GetAddressCodeResult, err error) { + result, err := a.AccessAPI("jingdong.stock.read.findSkuSiteStock", prodURL, map[string]interface{}{ + "siteId": siteId, + "skuId": skuId, + "venderSource": 4, + }) + if err == nil { + utils.Map2StructByJson(result["jingdong_areas_county_get_responce"].(map[string]interface{})["baseAreaServiceResponse"].(map[string]interface{})["data"], &getAddressCodeResult, false) + } + return getAddressCodeResult, err +} diff --git a/platformapi/jdshopapi/store_test.go b/platformapi/jdshopapi/store_test.go index 63f2609a..ab1c66d3 100644 --- a/platformapi/jdshopapi/store_test.go +++ b/platformapi/jdshopapi/store_test.go @@ -61,3 +61,11 @@ func TestGetCounty(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestFindSkuSiteStock(t *testing.T) { + result, err := api.FindSkuSiteStock(24330612, 69411607059) + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +}