- 将饿百返回的以8进制返回的错误信息显示为正常的文本

This commit is contained in:
gazebo
2019-07-27 19:52:07 +08:00
parent 8f164f4f28
commit 437711eb38
2 changed files with 23 additions and 11 deletions

View File

@@ -279,6 +279,7 @@ func (a *API) SkuGetItemsByCategoryId(shopID string, categoryID int64) (skus []m
return nil, err
}
// 此函数查不到结果是不会报错的
func (a *API) SkuList(shopID string, params *SkuListParams) (skuInfo *PageDataInfo, err error) {
paramMap := utils.Struct2FlatMap(params)
paramMap[KeyShopID] = shopID
@@ -359,14 +360,21 @@ func handleShopSkuBatchResult(result *ResponseResult) (opResult *BatchOpResult,
return opResult, err
}
func handleShopSkuBatchErr(err error) (opResult *BatchOpResult) {
if errMsg := utils.GetErrMsg(err); errMsg != "" {
var data interface{}
if err2 := utils.UnmarshalUseNumber([]byte(errMsg), &data); err2 == nil {
utils.Map2StructByJson(data, &opResult, true)
func handleShopSkuBatchErr(err error) (opResult *BatchOpResult, outErr error) {
outErr = err
if errExt, ok := err.(*utils.ErrorWithCode); ok {
if errExt.ErrMsg() != "" {
var data interface{}
if err2 := utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &data); err2 == nil {
if err2 = utils.Map2StructByJson(data, &opResult, true); err2 == nil {
// 将以\u表示的字符串标准化
errExt.SetErrMsg(string(utils.MustMarshal(opResult)))
outErr = errExt
}
}
}
}
return opResult
return opResult, outErr
}
// 门店商品批量修改可售价格库存的API,在2019/07/26之前除了SkuPriceUpdateBatch外其它API在部分失败时会返回成功
@@ -382,7 +390,7 @@ func (a *API) SkuDelete(shopID string, skuIDs []int64, customSkuDs []string) (op
if err == nil {
opResult, err = handleShopSkuBatchResult(result)
} else {
opResult = handleShopSkuBatchErr(err)
opResult, err = handleShopSkuBatchErr(err)
}
return opResult, err
}
@@ -394,7 +402,7 @@ func (a *API) SkuOnline(shopID string, skuIDs []int64, customSkuDs, upcs []strin
if err == nil {
opResult, err = handleShopSkuBatchResult(result)
} else {
opResult = handleShopSkuBatchErr(err)
opResult, err = handleShopSkuBatchErr(err)
}
return opResult, err
}
@@ -413,7 +421,7 @@ func (a *API) SkuOffline(shopID string, skuIDs []int64, customSkuDs, upcs []stri
if err == nil {
opResult, err = handleShopSkuBatchResult(result)
} else {
opResult = handleShopSkuBatchErr(err)
opResult, err = handleShopSkuBatchErr(err)
}
return opResult, err
}
@@ -434,7 +442,7 @@ func (a *API) SkuPriceUpdateBatch(shopID string, priceList ShopSkuInfoList, skuI
if err == nil {
opResult, err = handleShopSkuBatchResult(result)
} else {
opResult = handleShopSkuBatchErr(err)
opResult, err = handleShopSkuBatchErr(err)
}
return opResult, err
}
@@ -458,7 +466,7 @@ func (a *API) SkuStockUpdateBatch(shopID string, stockList ShopSkuInfoList, skuI
if err == nil {
opResult, err = handleShopSkuBatchResult(result)
} else {
opResult = handleShopSkuBatchErr(err)
opResult, err = handleShopSkuBatchErr(err)
}
return opResult, err
}

View File

@@ -59,6 +59,10 @@ func (e *ErrorWithCode) ErrMsg() string {
return e.errMsg
}
func (e *ErrorWithCode) SetErrMsg(errMsg string) {
e.errMsg = errMsg
}
func (e *ErrorWithCode) AddPrefixMsg(prefix string) {
e.prefixList = append(e.prefixList, prefix)
}