From 41c5fb7e8590c9d4eaebac4ff354fb7d500c830a Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 1 Jul 2019 15:02:01 +0800 Subject: [PATCH] =?UTF-8?q?-=20ebaiapi.GetEbaiSkuIDFromError=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E4=B8=BA=E4=BB=8E=E5=B9=B3=E5=8F=B0=E5=86=8D=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E5=8F=96=E4=BF=A1=E6=81=AF=EF=BC=88=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E9=A5=BF=E7=99=BE=E5=9C=A8=E5=88=9B=E5=BB=BA=E5=95=86=E5=93=81?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=97=B6=EF=BC=8C=E8=BF=94=E5=9B=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=9C=A8=E5=8F=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/ebaiapi/shop_sku.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/platformapi/ebaiapi/shop_sku.go b/platformapi/ebaiapi/shop_sku.go index fe3f36c1..ad66b51d 100644 --- a/platformapi/ebaiapi/shop_sku.go +++ b/platformapi/ebaiapi/shop_sku.go @@ -206,11 +206,19 @@ func (a *API) SkuCreate(shopID string, customSkuID int, params map[string]interf return 0, err } -func GetEbaiSkuIDFromError(err error) int64 { - if err2, ok := err.(*utils.ErrorWithCode); ok && err2.IntCode() == 1 && strings.Index(err2.ErrMsg(), "shop sku exist") >= 0 { - searchResult := skuExistReg.FindStringSubmatch(err2.ErrMsg()) - if searchResult != nil && len(searchResult[1]) > 0 { - return utils.Str2Int64(searchResult[1]) +func (a *API) GetEbaiSkuIDFromError(shopID string, customSkuID int, err error) int64 { + if err2, ok := err.(*utils.ErrorWithCode); ok && err2.IntCode() == 1 { + if strings.Index(err2.ErrMsg(), "shop sku exist") >= 0 { + searchResult := skuExistReg.FindStringSubmatch(err2.ErrMsg()) + if searchResult != nil && len(searchResult[1]) > 0 { + return utils.Str2Int64(searchResult[1]) + } + } else if strings.Index(err2.ErrMsg(), "商品已存在") >= 0 { + if skuInfo, err2 := a.SkuList(shopID, &SkuListParams{ + CustomSkuID: utils.Int2Str(customSkuID), + }); err2 == nil && skuInfo != nil && len(skuInfo.List) > 0 { + return skuInfo.List[0].SkuID + } } } return 0