From 5504b43d4f9f14290e10d8a1ec5324c5170aa7a5 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 24 Dec 2019 17:47:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?ebai.CreateStoreSkus=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E9=A5=BF=E7=99=BE=E5=B9=B3=E5=8F=B0=E6=9C=89BUG=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E6=96=B0=E5=BB=BA=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E5=88=A0=E9=99=A4=E7=9A=84=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=BF=A1=E6=81=AF=E4=B8=8D=E4=BC=9A=E5=8F=8A?= =?UTF-8?q?=E6=97=B6=E6=9B=B4=E6=96=B0=EF=BC=8C=E5=BC=BA=E5=88=B6=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E4=B8=80=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/store_sku2.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index ec7e619d8..afaa0132a 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -113,19 +113,25 @@ func (p *PurchaseHandler) IsErrSkuNotExist(err error) (isNotExist bool) { return ebaiapi.IsErrSkuNotExist(err) } -func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (successList []*dao.StoreSkuSyncInfo, err error) { +func (p *PurchaseHandler) updateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo, isNeedMapCat bool) (successList []*dao.StoreSkuSyncInfo, err error) { storeSku := storeSkuList[0] strStoreID := utils.Int2Str(storeID) params := genSkuParamsFromStoreSkuInfo2(storeSku, false) if globals.EnableEbaiStoreWrite { _, err = api.EbaiAPI.SkuUpdate(ctx.GetTrackInfo(), strStoreID, utils.Str2Int64(storeSku.VendorSkuID), params) - utils.CallFuncAsync(func() { - api.EbaiAPI.SkuShopCategoryMap(strStoreID, utils.Str2Int64(storeSku.VendorSkuID), "", utils.Str2Int64(storeSku.VendorCatID), genSkuCatRank(storeSku)) - }) + if isNeedMapCat { + utils.CallFuncAsync(func() { + api.EbaiAPI.SkuShopCategoryMap(strStoreID, utils.Str2Int64(storeSku.VendorSkuID), "", utils.Str2Int64(storeSku.VendorCatID), genSkuCatRank(storeSku)) + }) + } } return nil, err } +func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (successList []*dao.StoreSkuSyncInfo, err error) { + return p.updateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, true) +} + // 对于多门店平台来说,storeSkuList中只有SkuID与VendorSkuID有意义 func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (successList []*dao.StoreSkuSyncInfo, err error) { storeSku := storeSkuList[0] @@ -136,6 +142,9 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v if vendorSkuID, err = api.EbaiAPI.SkuCreate(ctx.GetTrackInfo(), strStoreID, storeSku.SkuID, params); err == nil { utils.AfterFuncWithRecover(5*time.Second, func() { api.EbaiAPI.SkuShopCategoryMap(strStoreID, vendorSkuID, "", utils.Str2Int64(storeSku.VendorCatID), genSkuCatRank(storeSku)) + // 饿百平台有BUG,会导致新建一个之前删除的商品时,信息不会及时更新,强制刷新一下 + // 比如门店:100887, skuID:33805,订单:1577176719141226065 + p.updateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, false) }) } } else { From 043e5ae01d19fc3c4046eacfc52f3bb25b7b6670 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 25 Dec 2019 11:10:44 +0800 Subject: [PATCH 2/3] getSkuSaleStatus --- business/jxstore/cms/store_sku.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ffab3276c..28c85c30b 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1133,12 +1133,13 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs return skuIDs, err } -func getSkuSaleStatus(inSkuBind *StoreSkuBindSkuInfo, skuBindInfo *StoreSkuBindInfo) int { +func getSkuSaleStatus(inSkuBind *StoreSkuBindSkuInfo, skuNameBindInfo *StoreSkuBindInfo) int { tempSale := 0 if inSkuBind != nil { tempSale = inSkuBind.IsSale - } else { - tempSale = skuBindInfo.IsSale + } + if tempSale == 0 { + tempSale = skuNameBindInfo.IsSale } if tempSale == -1 { return model.StoreSkuBindStatusDontSale From b8701ca85012bd7a64144b53288fb2bf834a9311 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 25 Dec 2019 11:11:03 +0800 Subject: [PATCH 3/3] upc --- business/jxstore/cms/sku.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index f6a0e6c8c..4aecdb376 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -791,8 +791,10 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf valid = utils.RemoveGeneralMapKeys(valid, model.FieldSpecQuality, model.FieldSpecUnit) _, hasPlaces := payload["places"] if len(valid) > 0 || hasPlaces { - if upc, _ := valid["Upc"].(string); upc == "" { - valid["Upc"] = nil + if valid["Upc"] != nil { + if upc, _ := valid["Upc"].(string); upc == "" { + valid["Upc"] = nil + } } globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false)) // if upc, _ := valid["Upc"].(string); upc != "" {