- 重要修改相关的函数新增trackInfo参数,追踪修改人.接口类型改变
This commit is contained in:
@@ -91,7 +91,7 @@ func (a *API) getShopID(body map[string]interface{}) (shopID string) {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI(cmd string, body map[string]interface{}) (retVal *ResponseResult, err error) {
|
||||
func (a *API) AccessAPI2(cmd string, body map[string]interface{}, trackInfo string) (retVal *ResponseResult, err error) {
|
||||
baseapi.SugarLogger.Debugf("ebai AccessAPI cmd:%s", cmd)
|
||||
// a.speedLimiter.AccessAPI(allAPI)
|
||||
a.speedLimiter.AccessAPI(cmd, a.getShopID(body))
|
||||
@@ -114,6 +114,9 @@ func (a *API) AccessAPI(cmd string, body map[string]interface{}) (retVal *Respon
|
||||
request, _ := http.NewRequest(http.MethodPost, prodURL, strings.NewReader(encodedParams))
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
request.Header.Set("User-Agent", "ebai-golang-api")
|
||||
if trackInfo != "" {
|
||||
request.Header.Set(platformapi.KeyTrackInfo, trackInfo)
|
||||
}
|
||||
return request
|
||||
},
|
||||
a.config,
|
||||
@@ -147,6 +150,10 @@ func (a *API) AccessAPI(cmd string, body map[string]interface{}) (retVal *Respon
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI(cmd string, body map[string]interface{}) (retVal *ResponseResult, err error) {
|
||||
return a.AccessAPI2(cmd, body, "")
|
||||
}
|
||||
|
||||
func (a *API) GetSupplierID() (supplierID int64) {
|
||||
a.locker.RLock()
|
||||
supplierID = a.supplierID
|
||||
|
||||
@@ -291,7 +291,7 @@ func (a *API) SkuList(shopID string, params *SkuListParams) (skuInfo *PageDataIn
|
||||
}
|
||||
|
||||
// 饿百商品名可以相同,不会报错
|
||||
func (a *API) SkuCreate(shopID string, customSkuID int, params map[string]interface{}) (skuID int64, err error) {
|
||||
func (a *API) SkuCreate(trackInfo, shopID string, customSkuID int, params map[string]interface{}) (skuID int64, err error) {
|
||||
defParams := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
KeyCustomSkuID: customSkuID,
|
||||
@@ -308,19 +308,19 @@ func (a *API) SkuCreate(shopID string, customSkuID int, params map[string]interf
|
||||
}
|
||||
params = utils.MergeMaps(params, defParams)
|
||||
// baseapi.SugarLogger.Debugf(utils.Format4Output(params, false))
|
||||
result, err := a.AccessAPI("sku.create", params)
|
||||
result, err := a.AccessAPI2("sku.create", params, trackInfo)
|
||||
if err == nil {
|
||||
return utils.Str2Int64(utils.Interface2String(result.Data.(map[string]interface{})[KeySkuID])), nil
|
||||
}
|
||||
return 0, err
|
||||
}
|
||||
|
||||
func (a *API) SkuUpdate(shopID string, ebaiSkuID int64, params map[string]interface{}) (skuID int64, err error) {
|
||||
func (a *API) SkuUpdate(trackInfo, shopID string, ebaiSkuID int64, params map[string]interface{}) (skuID int64, err error) {
|
||||
defParams := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
KeySkuID: ebaiSkuID,
|
||||
}
|
||||
result, err := a.AccessAPI("sku.update", utils.MergeMaps(params, defParams))
|
||||
result, err := a.AccessAPI2("sku.update", utils.MergeMaps(params, defParams), trackInfo)
|
||||
if err == nil {
|
||||
return utils.Str2Int64(utils.Interface2String(result.Data.(map[string]interface{})[KeySkuID])), nil
|
||||
}
|
||||
@@ -383,10 +383,10 @@ func handleShopSkuBatchErr(err error) (opResult *BatchOpResult, outErr error) {
|
||||
// 另外需要注意的是SkuPriceUpdateBatch的失败明细中的skuID是int64,但其它几个是string...
|
||||
|
||||
// 文档上说支持custom_sku_id,但实际好像只支持skuid
|
||||
func (a *API) SkuDelete(shopID string, skuIDs []int64, customSkuDs []string) (opResult *BatchOpResult, err error) {
|
||||
func (a *API) SkuDelete(trackInfo, shopID string, skuIDs []int64, customSkuDs []string) (opResult *BatchOpResult, err error) {
|
||||
params := genSkuIDParams(intIDs2Str(skuIDs), strIDs2Str(customSkuDs), "")
|
||||
params[KeyShopID] = shopID
|
||||
result, err := a.AccessAPI("sku.delete", params)
|
||||
result, err := a.AccessAPI2("sku.delete", params, trackInfo)
|
||||
if err == nil {
|
||||
opResult, err = handleShopSkuBatchResult(result)
|
||||
} else {
|
||||
@@ -395,10 +395,10 @@ func (a *API) SkuDelete(shopID string, skuIDs []int64, customSkuDs []string) (op
|
||||
return opResult, err
|
||||
}
|
||||
|
||||
func (a *API) SkuOnline(shopID string, skuIDs []int64, customSkuDs, upcs []string) (opResult *BatchOpResult, err error) {
|
||||
func (a *API) SkuOnline(trackInfo, shopID string, skuIDs []int64, customSkuDs, upcs []string) (opResult *BatchOpResult, err error) {
|
||||
params := genSkuIDParams(intIDs2Str(skuIDs), strIDs2Str(customSkuDs), strIDs2Str(upcs))
|
||||
params[KeyShopID] = shopID
|
||||
result, err := a.AccessAPI("sku.online", params)
|
||||
result, err := a.AccessAPI2("sku.online", params, trackInfo)
|
||||
if err == nil {
|
||||
opResult, err = handleShopSkuBatchResult(result)
|
||||
} else {
|
||||
@@ -407,17 +407,17 @@ func (a *API) SkuOnline(shopID string, skuIDs []int64, customSkuDs, upcs []strin
|
||||
return opResult, err
|
||||
}
|
||||
|
||||
func (a *API) SkuOnlineOne(shopID string, skuID int64, customSkuID, upc string) (err error) {
|
||||
func (a *API) SkuOnlineOne(trackInfo, shopID string, skuID int64, customSkuID, upc string) (err error) {
|
||||
params := genSkuIDParams(utils.Int64ToStrNoZero(skuID), customSkuID, upc)
|
||||
params[KeyShopID] = shopID
|
||||
_, err = a.AccessAPI("sku.online.one", params)
|
||||
_, err = a.AccessAPI2("sku.online.one", params, trackInfo)
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) SkuOffline(shopID string, skuIDs []int64, customSkuDs, upcs []string) (opResult *BatchOpResult, err error) {
|
||||
func (a *API) SkuOffline(trackInfo, shopID string, skuIDs []int64, customSkuDs, upcs []string) (opResult *BatchOpResult, err error) {
|
||||
params := genSkuIDParams(intIDs2Str(skuIDs), strIDs2Str(customSkuDs), strIDs2Str(upcs))
|
||||
params[KeyShopID] = shopID
|
||||
result, err := a.AccessAPI("sku.offline", params)
|
||||
result, err := a.AccessAPI2("sku.offline", params, trackInfo)
|
||||
if err == nil {
|
||||
opResult, err = handleShopSkuBatchResult(result)
|
||||
} else {
|
||||
@@ -426,19 +426,19 @@ func (a *API) SkuOffline(shopID string, skuIDs []int64, customSkuDs, upcs []stri
|
||||
return opResult, err
|
||||
}
|
||||
|
||||
func (a *API) SkuOfflineOne(shopID string, skuID int64, customSkuID, upc string) (err error) {
|
||||
func (a *API) SkuOfflineOne(trackInfo, shopID string, skuID int64, customSkuID, upc string) (err error) {
|
||||
params := genSkuIDParams(utils.Int64ToStrNoZero(skuID), customSkuID, upc)
|
||||
params[KeyShopID] = shopID
|
||||
_, err = a.AccessAPI("sku.offline.one", params)
|
||||
_, err = a.AccessAPI2("sku.offline.one", params, trackInfo)
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) SkuPriceUpdateBatch(shopID string, priceList ShopSkuInfoList, skuIDType int) (opResult *BatchOpResult, err error) {
|
||||
func (a *API) SkuPriceUpdateBatch(trackInfo, shopID string, priceList ShopSkuInfoList, skuIDType int) (opResult *BatchOpResult, err error) {
|
||||
params := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
priceUpdateKeyIDMap[skuIDType]: priceList.PriceString(skuIDType),
|
||||
}
|
||||
result, err := a.AccessAPI("sku.price.update.batch", params)
|
||||
result, err := a.AccessAPI2("sku.price.update.batch", params, trackInfo)
|
||||
if err == nil {
|
||||
opResult, err = handleShopSkuBatchResult(result)
|
||||
} else {
|
||||
@@ -447,22 +447,22 @@ func (a *API) SkuPriceUpdateBatch(shopID string, priceList ShopSkuInfoList, skuI
|
||||
return opResult, err
|
||||
}
|
||||
|
||||
func (a *API) SkuPriceUpdateOne(shopID string, priceInfo *ShopSkuInfo) (err error) {
|
||||
func (a *API) SkuPriceUpdateOne(trackInfo, shopID string, priceInfo *ShopSkuInfo) (err error) {
|
||||
skuIDType := priceInfo.GuessIDType()
|
||||
params := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
priceUpdateKeyIDMap[skuIDType]: priceInfo.PriceString(skuIDType),
|
||||
}
|
||||
_, err = a.AccessAPI("sku.price.update.one", params)
|
||||
_, err = a.AccessAPI2("sku.price.update.one", params, trackInfo)
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) SkuStockUpdateBatch(shopID string, stockList ShopSkuInfoList, skuIDType int) (opResult *BatchOpResult, err error) {
|
||||
func (a *API) SkuStockUpdateBatch(trackInfo, shopID string, stockList ShopSkuInfoList, skuIDType int) (opResult *BatchOpResult, err error) {
|
||||
params := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
stockUpdateKeyIDMap[skuIDType]: stockList.StockString(skuIDType),
|
||||
}
|
||||
result, err := a.AccessAPI("sku.stock.update.batch", params)
|
||||
result, err := a.AccessAPI2("sku.stock.update.batch", params, trackInfo)
|
||||
if err == nil {
|
||||
opResult, err = handleShopSkuBatchResult(result)
|
||||
} else {
|
||||
@@ -471,13 +471,13 @@ func (a *API) SkuStockUpdateBatch(shopID string, stockList ShopSkuInfoList, skuI
|
||||
return opResult, err
|
||||
}
|
||||
|
||||
func (a *API) SkuStockUpdateOne(shopID string, stockInfo *ShopSkuInfo) (err error) {
|
||||
func (a *API) SkuStockUpdateOne(trackInfo, shopID string, stockInfo *ShopSkuInfo) (err error) {
|
||||
skuIDType := stockInfo.GuessIDType()
|
||||
params := map[string]interface{}{
|
||||
KeyShopID: shopID,
|
||||
stockUpdateKeyIDMap[skuIDType]: stockInfo.StockString(skuIDType),
|
||||
}
|
||||
_, err = a.AccessAPI("sku.stock.update.one", params)
|
||||
_, err = a.AccessAPI2("sku.stock.update.one", params, trackInfo)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ func TestSkuCreate(t *testing.T) {
|
||||
func TestSkuUpdate(t *testing.T) {
|
||||
// 15579787500720732 高级
|
||||
|
||||
result, err := api.SkuUpdate("2", 1557043939079105, map[string]interface{}{
|
||||
result, err := api.SkuUpdate(utils.GetUUID(), "2", 1557043939079105, map[string]interface{}{
|
||||
// "name": "高级商品2015a333约1100g/份",
|
||||
// "rtf": "http://www.rosy.net.cn/rtf.html",
|
||||
"shelf_number": 12,
|
||||
@@ -119,7 +119,7 @@ func TestSkuDelete(t *testing.T) {
|
||||
notExistSkuID = 12345678
|
||||
existSkuID = 156406677407848
|
||||
)
|
||||
opResult, err := api.SkuDelete(testShopID, []int64{notExistSkuID}, nil)
|
||||
opResult, err := api.SkuDelete(utils.GetUUID(), testShopID, []int64{notExistSkuID}, nil)
|
||||
t.Log(utils.Format4Output(opResult, false))
|
||||
if err == nil {
|
||||
t.Log("应该要报错")
|
||||
@@ -127,7 +127,7 @@ func TestSkuDelete(t *testing.T) {
|
||||
if opResult == nil || len(opResult.FailedList) != 1 || opResult.FailedList[0].SkuID != notExistSkuID {
|
||||
t.Logf("错误结果中应该要包含:%d", notExistSkuID)
|
||||
}
|
||||
opResult, err = api.SkuDelete(testShopID, []int64{existSkuID}, nil)
|
||||
opResult, err = api.SkuDelete(utils.GetUUID(), testShopID, []int64{existSkuID}, nil)
|
||||
t.Log(utils.Format4Output(opResult, false))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -143,8 +143,9 @@ func TestSkuOnline(t *testing.T) {
|
||||
existSkuID = 156406688807623
|
||||
)
|
||||
|
||||
opResult, err := api.SkuOnline(testShopID, []int64{notExistSkuID, existSkuID}, nil, nil)
|
||||
opResult, err := api.SkuOnline(utils.GetUUID(), testShopID, []int64{notExistSkuID, existSkuID}, nil, nil)
|
||||
t.Log(utils.Format4Output(opResult, false))
|
||||
t.Log(err.Error())
|
||||
if err == nil {
|
||||
t.Log("应该要报错")
|
||||
}
|
||||
@@ -157,14 +158,14 @@ func TestSkuOnline(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSkuOnlineOne(t *testing.T) {
|
||||
err := api.SkuOnlineOne(testShopID, 13211, "", "")
|
||||
err := api.SkuOnlineOne(utils.GetUUID(), testShopID, 13211, "", "")
|
||||
if err == nil {
|
||||
t.Fatal("应该要报错才对")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSkuOffline(t *testing.T) {
|
||||
opResult, err := api.SkuOffline(testShopID, []int64{1564049914071288, 156389470507185}, nil, nil)
|
||||
opResult, err := api.SkuOffline(utils.GetUUID(), testShopID, []int64{1564049914071288, 156389470507185}, nil, nil)
|
||||
t.Log(utils.Format4Output(opResult, false))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -172,7 +173,7 @@ func TestSkuOffline(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSkuPriceUpdateBatch(t *testing.T) {
|
||||
opResult, err := api.SkuPriceUpdateBatch(testShopID, ShopSkuInfoList{
|
||||
opResult, err := api.SkuPriceUpdateBatch(utils.GetUUID(), testShopID, ShopSkuInfoList{
|
||||
&ShopSkuInfo{
|
||||
SkuID: 156369111807787,
|
||||
SalePrice: 100,
|
||||
@@ -203,7 +204,7 @@ func TestSkuStockUpdateBatch(t *testing.T) {
|
||||
leftNum = 123
|
||||
)
|
||||
|
||||
opResult, err := api.SkuStockUpdateBatch(testShopID, ShopSkuInfoList{
|
||||
opResult, err := api.SkuStockUpdateBatch(utils.GetUUID(), testShopID, ShopSkuInfoList{
|
||||
&ShopSkuInfo{
|
||||
SkuID: notExistSkuID,
|
||||
Stock: leftNum,
|
||||
@@ -239,7 +240,7 @@ func TestSkuStockUpdateOne(t *testing.T) {
|
||||
|
||||
leftNum = 234
|
||||
)
|
||||
err := api.SkuStockUpdateOne(testShopID, &ShopSkuInfo{
|
||||
err := api.SkuStockUpdateOne(utils.GetUUID(), testShopID, &ShopSkuInfo{
|
||||
SkuID: existSkuID,
|
||||
Stock: leftNum,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user