diff --git a/business/partner/purchase/yb/store_sku.go b/business/partner/purchase/yb/store_sku.go index 4ff694710..6d9f84c76 100644 --- a/business/partner/purchase/yb/store_sku.go +++ b/business/partner/purchase/yb/store_sku.go @@ -26,7 +26,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v if globals.EnableYbStoreWrite { storeSku := storeSkuList[0] var result *yinbaoapi.AddProductInfoResult - if err2 := checkYbSku(storeSku); err2 != nil { + flag, err2 := checkYbSku(storeSku) //flag为true表示是标品,标品不用更新称编码 + if err2 != nil { err = err2 } else { result, err = api.YinBaoAPI.AddProductInfo(buildProductInfoParam(storeSku)) @@ -35,7 +36,9 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品") } else { storeSku.VendorSkuID = utils.Int64ToStr(result.UID) - updateYbSkuPluCode(vendorStoreID, storeSku.YbBarCode) + if !flag { + updateYbSkuPluCode(vendorStoreID, storeSku.YbBarCode) + } } } return failedList, err @@ -438,17 +441,18 @@ func updateYbSkuPluCode(vendorStoreID, ybBarCode string) (err error) { return err } -func checkYbSku(storeSku *dao.StoreSkuSyncInfo) (err error) { +func checkYbSku(storeSku *dao.StoreSkuSyncInfo) (flag bool, err error) { skuID := storeSku.SkuID skus, _ := dao.GetSkus(dao.GetDB(), []int{skuID}, nil, nil, nil, nil) if len(skus) > 0 { if skus[0].Unit != model.UnitNames[0] { + flag = true if skus[0].Upc == "" { - return fmt.Errorf("创建标品必须指定upc码,skuID[%v]", skuID) + return flag, fmt.Errorf("创建标品必须指定upc码,skuID[%v]", skuID) } else { storeSku.YbBarCode = skus[0].Upc } } } - return err + return flag, err }