diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index a7afebcb9..35c118ef1 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1078,7 +1078,7 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{} } return 0, err } - if sku.ExdSkuID != "" { + if sku.ExdSkuID == "" { if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil { dao.Rollback(db) return 0, err diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index d1ab19f03..6316c4ce0 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -91,7 +91,7 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs // TODO 同一平台不同账号会有影响needSyncParentIDs,暂不处理 var needSyncParentIDs []int for _, cat := range catList { - if cat.Level == 2 && cat.ParentVendorCatID == "" { + if cat.Level == 2 && cat.ParentVendorCatID == "" && cat.IsExdSpec == model.NO { needSyncParentIDs = append(needSyncParentIDs, cat.ParentID) } } @@ -144,6 +144,9 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, if skuVendorInfo.BindID == 0 { return nil, fmt.Errorf("商品:%d的数据异常", skuVendorInfo.SkuID) } + if skuVendorInfo.ExdSkuID != "" { + return nil, err + } skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd) skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus) if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok { @@ -466,18 +469,20 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, if opType == AmendPruneOnlyAmend || opType == AmendPruneAll { for _, v := range localSkuList { - if v.BindID != 0 { - if !model.IsSyncStatusDelete(v.SkuSyncStatus) { - if remoteSkuMap[v.VendorSkuID] == 0 { - if !model.IsSyncStatusNew(v.SkuSyncStatus) { - OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) + if v.ExdSkuID == "" { + if v.BindID != 0 { + if !model.IsSyncStatusDelete(v.SkuSyncStatus) { + if remoteSkuMap[v.VendorSkuID] == 0 { + if !model.IsSyncStatusNew(v.SkuSyncStatus) { + OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) + } + } else if isForceUpdate { + OnUpdateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } - } else if isForceUpdate { - OnUpdateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } + } else { + OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } - } else { - OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } } } @@ -510,18 +515,20 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList) for _, v := range localCatList { - if v.MapID != 0 { - if !model.IsSyncStatusDelete(v.CatSyncStatus) { - if remoteCatMap[v.VendorCatID] == 0 { - if !model.IsSyncStatusNew(v.CatSyncStatus) { - OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) + if v.IsExdSpec == model.NO { + if v.MapID != 0 { + if !model.IsSyncStatusDelete(v.CatSyncStatus) { + if remoteCatMap[v.VendorCatID] == 0 { + if !model.IsSyncStatusNew(v.CatSyncStatus) { + OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) + } + } else if isForceUpdate && !model.IsSyncStatusUpdate(v.CatSyncStatus) { + OnUpdateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } - } else if isForceUpdate && !model.IsSyncStatusUpdate(v.CatSyncStatus) { - OnUpdateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } + } else { + OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } - } else { - OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } } }