diff --git a/business/partner/purchase/yb/store_sku.go b/business/partner/purchase/yb/store_sku.go index c47b50f30..695970895 100644 --- a/business/partner/purchase/yb/store_sku.go +++ b/business/partner/purchase/yb/store_sku.go @@ -38,13 +38,15 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v result, err = api.YinBaoAPI.AddProductInfo(buildProductInfoParam(storeSku)) } if err != nil { - if strings.Contains(err.Error(), addErr1) { - queryProductByBarcodeResult, err := api.YinBaoAPI.QueryProductByBarcodes([]string{storeSku.YbBarCode}) - if err != nil && len(queryProductByBarcodeResult) > 0 { - if queryProductByBarcodeResult[0].Enable == model.SkuStatusDeleted || queryProductByBarcodeResult[0].Enable == model.SkuStatusDontSale { + if errExt, ok := err.(*utils.ErrorWithCode); ok { + if strings.Contains(errExt.ErrMsg(), addErr1) { + queryProductByBarcodeResult, _ := api.YinBaoAPI.QueryProductByBarcodes([]string{storeSku.YbBarCode}) + if len(queryProductByBarcodeResult) > 0 { api.YinBaoAPI.BatchUpdateProductEnable(vendorStoreID, utils.Int64ToStr(queryProductByBarcodeResult[0].UID), model.SkuStatusNormal) storeSku.VendorSkuID = utils.Int64ToStr(queryProductByBarcodeResult[0].UID) } + } else { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品") } } else { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品")