From f99609db14e649d22ee43f873eec662d2b8f1729 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 30 Jan 2019 18:17:14 +0800 Subject: [PATCH] - jdapi.UpdateSpuSaleAttr --- platformapi/jdapi/sku.go | 22 ++++++++++++++++++++-- platformapi/jdapi/sku_test.go | 9 ++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/platformapi/jdapi/sku.go b/platformapi/jdapi/sku.go index baeab0df..d38eaebc 100644 --- a/platformapi/jdapi/sku.go +++ b/platformapi/jdapi/sku.go @@ -78,7 +78,9 @@ const ( ) const ( - MaxSkuNameLen = 45 // skuname最长字符数 + MaxSkuNameLen = 45 // skuname最长字符数 + SaleAttrIDBase = 1001 + SaleAttrValueIDBase = 10 ) type SkuIDPair struct { @@ -468,7 +470,7 @@ func (a *API) AddSpu(outSpuId string, cagtegoryId int, shopCategories []int64, b // https://opendj.jd.com/staticnew/widgets/resources.html?groupid=180&apiid=cffb839b06f042b28d6397b6bd4f2676 func (a *API) AppendSku(outSpuId string, outSkuId string, skuName string, skuPrice int, weight float32, images []string, fixedStatus int, isSale bool, specAttr string, addParams map[string]interface{}) (skuID int64, err error) { attr := specAttr //getSkuAttr(weight) - if err = a.AppendSpuSaleAttr(outSpuId, "1001", attr); err != nil { + if err = a.AppendSpuSaleAttr(outSpuId, utils.Int2Str(SaleAttrIDBase), attr); err != nil { return 0, err } @@ -578,6 +580,22 @@ func (a *API) GetSpuStatus(outSpuId string) (resultStatus int, err error) { return 0, err } +func (a *API) UpdateSpuSaleAttr(outSpuId, saleAttrId, saleAttrName, saleAttrValueId, saleAttrValueName string) (err error) { + apiParams := map[string]interface{}{ + "outSuperId": outSpuId, + "saleAttrId": saleAttrId, + "saleAttrValueId": saleAttrValueId, + } + if saleAttrName != "" { + apiParams["saleAttrName"] = saleAttrName + } + if saleAttrValueName != "" { + apiParams["saleAttrValueName"] = saleAttrValueName + } + _, err = a.AccessAPINoPage("pms/updateSpuSaleAttr", apiParams, nil, nil, nil) + return err +} + /////////////////////////// // 私有辅助函数 func interface2Cat(data interface{}, level int) (cat *CategoryInfo) { diff --git a/platformapi/jdapi/sku_test.go b/platformapi/jdapi/sku_test.go index 59ae7acd..970666e2 100644 --- a/platformapi/jdapi/sku_test.go +++ b/platformapi/jdapi/sku_test.go @@ -142,7 +142,7 @@ func TestGetSkuSaleAttrName(t *testing.T) { } func TestGetSpuSaleAttr(t *testing.T) { - result, err := jdapi.GetSpuSaleAttr("1224") + result, err := jdapi.GetSpuSaleAttr("3628") if err != nil { t.Fatal(err) } @@ -173,3 +173,10 @@ func TestGetSpuStatus(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestUpdateSpuSaleAttr(t *testing.T) { + err := jdapi.UpdateSpuSaleAttr("3628", "1001", "", "10", "hello") + if err != nil { + t.Fatal(err) + } +}