diff --git a/platformapi/ebaiapi/shop_sku.go b/platformapi/ebaiapi/shop_sku.go index cf7b1b5c..3cf41210 100644 --- a/platformapi/ebaiapi/shop_sku.go +++ b/platformapi/ebaiapi/shop_sku.go @@ -1,7 +1,6 @@ package ebaiapi import ( - "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/utils" ) @@ -53,9 +52,10 @@ func (a *API) ShopCategoryCreate(shopID string, parentID int64, name string, ran func (a *API) ShopCategoryGet(shopID string) (cats []*CategoryInfo, err error) { result, err := a.AccessAPI("sku.shop.category.get", utils.Params2Map(KeyShopID, shopID)) if err == nil { - baseapi.SugarLogger.Debug(result) - cats := interface2CatList(result.Data.(map[string]interface{})["categorys"], 1) - return cats, nil + if inMap, ok := result.Data.(map[string]interface{}); ok { // fuck it + cats := interface2CatList(inMap["categorys"], 1) + return cats, nil + } } return nil, err } @@ -118,7 +118,7 @@ func (a *API) SkuCreate(shopID string, customSkuID int, params map[string]interf "custom_sku_id": customSkuID, "upc_type": UPCTypePrivate, "upc": customSkuID, - "brand_name": "京西菜市", + "brand_name": "无", // 很狗血的是,你还必须填个无才行。。。 } // if params["upc"] == nil { // defParams["upc"] = "upc-" + utils.Int2Str(customSkuID) @@ -128,14 +128,15 @@ func (a *API) SkuCreate(shopID string, customSkuID int, params map[string]interf } result, err := a.AccessAPI("sku.create", utils.MergeMaps(params, defParams)) if err == nil { - return utils.MustInterface2Int64(result.Data.(map[string]interface{})["sku_id"]), nil + return utils.Str2Int64(utils.Interface2String(result.Data.(map[string]interface{})["sku_id"])), nil } return 0, err } -func (a *API) SkuUpdate(shopID string, params map[string]interface{}) (skuID int64, err error) { +func (a *API) SkuUpdate(shopID string, ebaiSkuID int64, params map[string]interface{}) (skuID int64, err error) { defParams := map[string]interface{}{ KeyShopID: shopID, + "sku_id": ebaiSkuID, } result, err := a.AccessAPI("sku.update", utils.MergeMaps(params, defParams)) if err == nil { @@ -180,6 +181,19 @@ func (a *API) SkuOffline(shopID, skuIDsStr string) (err error) { return err } +func (a *API) SkuShopCategoryMap(shopID string, skuID int64, categoryIDsStr string) (err error) { + params := map[string]interface{}{ + KeyShopID: shopID, + "sku_id": skuID, + "category_id": categoryIDsStr, + } + _, err = a.AccessAPI("sku.shop.category.map", params) + if err == nil { + return nil + } + return err +} + // func interface2CatList(data interface{}, level int) (cats []*CategoryInfo) { maps, ok := data.([]interface{}) diff --git a/platformapi/ebaiapi/shop_sku_test.go b/platformapi/ebaiapi/shop_sku_test.go index 32f93e6a..504fda34 100644 --- a/platformapi/ebaiapi/shop_sku_test.go +++ b/platformapi/ebaiapi/shop_sku_test.go @@ -32,7 +32,7 @@ func TestShopCategoryUpdate(t *testing.T) { } func TestShopCategoryDelete(t *testing.T) { - err := api.ShopCategoryDelete(testShopID, 153760195017120) + err := api.ShopCategoryDelete(testShopID, 153760292217132) if err != nil { t.Fatal(err) } @@ -57,7 +57,7 @@ func TestSkuList(t *testing.T) { } func TestSkuCreate(t *testing.T) { - result, err := api.SkuCreate(testShopID, 114, map[string]interface{}{ + result, err := api.SkuCreate(testShopID, 116, map[string]interface{}{ "name": "测试商品", "status": SkuStatusOnline, "left_num": MaxLeftNum, @@ -79,3 +79,10 @@ func TestSkuCreate(t *testing.T) { t.Log(utils.Format4Output(result, false)) } } + +func TestSkuShopCategoryMap(t *testing.T) { + err := api.SkuShopCategoryMap(testShopID, 15378849314129969, "153760472317166") + if err != nil { + t.Fatal(err) + } +} diff --git a/platformapi/ebaiapi/shop_test.go b/platformapi/ebaiapi/shop_test.go index e05a3b61..c649d3cc 100644 --- a/platformapi/ebaiapi/shop_test.go +++ b/platformapi/ebaiapi/shop_test.go @@ -44,8 +44,8 @@ func TestShopGet(t *testing.T) { func TestShopUpdate(t *testing.T) { params := map[string]interface{}{ KeyShopID: testShopID, - // KeyName: "hello", - "phone": "13812345678", + KeyName: "hello", + "phone": "13812345678", } err := api.ShopUpdate(params) if err != nil { @@ -65,7 +65,7 @@ func TestShopBusStatusGet(t *testing.T) { } func TestShopIDBatchUpdate(t *testing.T) { - err := api.ShopIDBatchUpdate([]string{utils.Int2Str(testShopBaiduID)}, []string{""}) + err := api.ShopIDBatchUpdate([]string{utils.Int2Str(testShopBaiduID)}, []string{"100077"}) if err != nil { t.Fatal(err) }