From e653f099f09b1a8965e9f7db5b35fd36c9f9e5db Mon Sep 17 00:00:00 2001 From: gazebo Date: Sun, 1 Sep 2019 10:35:40 +0800 Subject: [PATCH] =?UTF-8?q?-=20jdapi.handleBatchOpResult=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E5=9C=A8=E6=9C=89=E9=94=99=E8=AF=AF=E6=97=B6=E6=89=8D=E4=BC=9A?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=A7=A3=E6=9E=90=E8=AF=A6=E7=BB=86=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E4=BF=A1=E6=81=AF=EF=BC=88=E5=8D=B3=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E4=B8=8D=E8=A7=A3=E6=9E=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdapi/store_sku.go | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/platformapi/jdapi/store_sku.go b/platformapi/jdapi/store_sku.go index 08ae1886..25e12752 100644 --- a/platformapi/jdapi/store_sku.go +++ b/platformapi/jdapi/store_sku.go @@ -109,7 +109,7 @@ func (a *API) UpdateVendorStationPrice(trackInfo string, outStationNo, stationNo result, err := a.AccessAPINoPage2("venderprice/updateStationPrice", jdParams, nil, nil, genNoPageResultParser("code", "msg", "result", "0"), trackInfo) if result != nil { var err2 error - if responseList, err2 = a.handleBatchOpResult(len(skuPriceInfoList), result, "json2"); err2 != nil && err == nil { + if responseList, err2 = a.handleBatchOpResult(len(skuPriceInfoList), err, result, "json2"); err2 != nil && err == nil { err = err2 } } @@ -146,18 +146,20 @@ func (a *API) GetStationInfoList(stationNo string, skuIds []int64) (priceInfo [] return priceInfo, err } -func (a *API) handleBatchOpResult(batchCount int, result interface{}, tagName string) (responseList []*StoreSkuBatchUpdateResponse, err error) { - if err = utils.Map2Struct(result, &responseList, true, tagName); err == nil { - var failedList []*StoreSkuBatchUpdateResponse - for _, v := range responseList { - if v.Code != 0 { - failedList = append(failedList, v) +func (a *API) handleBatchOpResult(batchCount int, inErr error, result interface{}, tagName string) (responseList []*StoreSkuBatchUpdateResponse, err error) { + if inErr != nil { + if err = utils.Map2Struct(result, &responseList, true, tagName); err == nil { + var failedList []*StoreSkuBatchUpdateResponse + for _, v := range responseList { + if v.Code != 0 { + failedList = append(failedList, v) + } + } + if len(failedList) >= batchCount { + err = utils.NewErrorCode(string(utils.MustMarshal(failedList)), ResponseCodeAccessFailed, 1) // 此错误基本用不到 + } else if len(failedList) > 0 { // 部分失败 + err = utils.NewErrorCode(string(utils.MustMarshal(failedList)), ResponseInnerCodePartialFailed, 1) } - } - if len(failedList) >= batchCount { - err = utils.NewErrorCode(string(utils.MustMarshal(failedList)), ResponseCodeAccessFailed, 1) // 此错误基本用不到 - } else if len(failedList) > 0 { // 部分失败 - err = utils.NewErrorCode(string(utils.MustMarshal(failedList)), ResponseInnerCodePartialFailed, 1) } } return responseList, err @@ -181,7 +183,7 @@ func (a *API) BatchUpdateCurrentQtys(trackInfo, outStationNo, stationNo string, result, err := a.AccessAPINoPage2("stock/batchUpdateCurrentQtys", jdParams, nil, nil, genNoPageResultParser("retCode", "retMsg", "data", "0"), trackInfo) if result != nil { var err2 error - if responseList, err2 = a.handleBatchOpResult(len(skuStockList), result, ""); err2 != nil && err == nil { + if responseList, err2 = a.handleBatchOpResult(len(skuStockList), err, result, ""); err2 != nil && err == nil { err = err2 } } @@ -231,7 +233,7 @@ func (a *API) UpdateVendibility(trackInfo string, listBaseStockCenterRequest []* result, err := a.AccessAPINoPage2("stock/updateVendibility", jdParams, nil, nil, genNoPageResultParser("retCode", "retMsg", "data", "0"), trackInfo) if result != nil { var err2 error - if responseList, err2 = a.handleBatchOpResult(len(listBaseStockCenterRequest), result, ""); err2 != nil && err == nil { + if responseList, err2 = a.handleBatchOpResult(len(listBaseStockCenterRequest), err, result, ""); err2 != nil && err == nil { err = err2 } } @@ -256,7 +258,7 @@ func (a *API) BatchUpdateVendibility(trackInfo, outStationNo, stationNo string, result, err := a.AccessAPINoPage2("stock/batchUpdateVendibility", jdParams, nil, nil, genNoPageResultParser("retCode", "retMsg", "data", "0"), trackInfo) if result != nil { var err2 error - if responseList, err2 = a.handleBatchOpResult(len(stockVendibilityList), result, ""); err2 != nil && err == nil { + if responseList, err2 = a.handleBatchOpResult(len(stockVendibilityList), err, result, ""); err2 != nil && err == nil { err = err2 } }