- 重要修改相关的函数新增trackInfo参数,追踪修改人.接口类型改变

This commit is contained in:
gazebo
2019-07-28 12:34:52 +08:00
parent 437711eb38
commit da9c8a11c2
13 changed files with 152 additions and 100 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -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,
})