From da6f2d522031938fb7e209811936b10f6cb44e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 30 Apr 2020 15:14:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=93=B6=E8=B1=B9=E4=BF=AE=E6=94=B9=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/yb/store_sku.go | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/yb/store_sku.go b/business/partner/purchase/yb/store_sku.go index e75d866a9..85b208608 100644 --- a/business/partner/purchase/yb/store_sku.go +++ b/business/partner/purchase/yb/store_sku.go @@ -60,6 +60,11 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "修改商品") return failedList, err } + err = updateYbImage(vendorStoreID, v) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "修改商品") + return failedList, err + } err = updateYbSku(vendorStoreID, v.YbBarCode, saveProductParam) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "修改商品") @@ -514,7 +519,7 @@ func checkYbSku(storeSku *dao.StoreSkuSyncInfo) (flag bool, err error) { if skus[0].Unit != model.UnitNames[0] { flag = true if skus[0].Upc == "" { - return flag, fmt.Errorf("创建标品必须指定upc码,skuID[%v]", skuID) + return flag, fmt.Errorf("标品必须指定upc码,skuID[%v]", skuID) } else { storeSku.YbBarCode = skus[0].Upc } @@ -550,3 +555,29 @@ func uploadYbImageLoop(vendorStoreID, ybSkuID string, resBinary []byte, fileName } return err } + +func updateYbImage(vendorStoreID string, v *dao.StoreSkuSyncInfo) (err error) { + err = uploadYbImage(vendorStoreID, v.YbBarCode, v.Img) + err = resetCoverImageLoop(vendorStoreID, v.YbBarCode) + return err +} + +func resetCoverImageLoop(vendorStoreID, ybBarCode string) (err error) { + for { + err = api.YinBaoAPI.ResetCoverImage(vendorStoreID, ybBarCode) + if err == nil { + break + } else { + if yinbaoapi.IsErrCookie(err) { + err = cms.ChangeYbCookie() + if err != nil { + break + } + err = resetCoverImageLoop(vendorStoreID, ybBarCode) + } else { + break + } + } + } + return err +}