From d0667a818d7769318b344067f17d7b5729fed7e8 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 18 Sep 2019 15:15:43 +0800 Subject: [PATCH] =?UTF-8?q?-=20PruneMissingStoreSkus,=20=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E7=BE=8E=E5=9B=A2=E5=A4=96=E5=8D=96=E5=88=86=E7=B1=BB=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E6=98=AF=E7=94=A8=E7=9A=84=E5=90=8D=E5=AD=97=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=9A=84=EF=BC=8C=E6=89=80=E4=BB=A5=E6=94=B9=E5=90=8D?= =?UTF-8?q?=E5=90=8E=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=EF=BC=8C=E8=BF=99=E4=B8=AA=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E7=BE=8E=E5=9B=A2=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E7=9A=84=E5=88=86=E7=B1=BB=E8=A2=AB=E8=AF=AF=E5=88=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 76551f092..309961b2a 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -565,6 +565,7 @@ func checkRemoteCatExist(localCatMap map[string]*dao.SkuStoreCatInfo, catList [] } // 清除京西没有,平台有的商品与商家分类 +// todo !!!,因为美团外卖分类当前是用的名字关联的,所以改名后如果没有及时同步,这个函数会导致美团平台的分类被误删 func PruneMissingStoreSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, isAsync, isContinueWhenError bool) (hint string, err error) { handler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) if handler == nil { @@ -609,18 +610,20 @@ func PruneMissingStoreSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, ven } sku2Delete = nil case 2: - localCatList, err := dao.GetStoreCategories(db, vendorID, storeID, 0, false) - if err != nil { - return nil, err - } - localCatMap := make(map[string]*dao.SkuStoreCatInfo) - for _, v := range localCatList { - localCatMap[v.VendorCatID] = v - } + if vendorID != model.VendorIDMTWM { + localCatList, err := dao.GetStoreCategories(db, vendorID, storeID, 0, false) + if err != nil { + return nil, err + } + localCatMap := make(map[string]*dao.SkuStoreCatInfo) + for _, v := range localCatList { + localCatMap[v.VendorCatID] = v + } - remoteCatList, err2 := handler.GetStoreAllCategories(ctx, storeID, vendorStoreID) - if err = err2; err == nil { - cat2Delete = checkRemoteCatExist(localCatMap, remoteCatList) + remoteCatList, err2 := handler.GetStoreAllCategories(ctx, storeID, vendorStoreID) + if err = err2; err == nil { + cat2Delete = checkRemoteCatExist(localCatMap, remoteCatList) + } } case 3: if len(cat2Delete) > 0 {