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 {