- 判断同步标志时,如果既有新建也有删除标志,则空操作

This commit is contained in:
gazebo
2019-03-28 11:13:56 +08:00
parent 573a6603c5
commit 964b86b642
4 changed files with 30 additions and 14 deletions

View File

@@ -137,7 +137,9 @@ func (v *VendorSync) syncCategories(ctx *jxcontext.Context, parentTask tasksch.I
updateFields := []string{syncStatusFieldName} updateFields := []string{syncStatusFieldName}
syncStatus := refutil.GetObjFieldByName(cat, syncStatusFieldName).(int8) syncStatus := refutil.GetObjFieldByName(cat, syncStatusFieldName).(int8)
if (syncStatus & model.SyncFlagDeletedMask) != 0 { //删除 if (syncStatus & model.SyncFlagDeletedMask) != 0 { //删除
err = multiStoresHandler.DeleteCategory(db, cat, userName) if (syncStatus & model.SyncFlagNewMask) == 0 {
err = multiStoresHandler.DeleteCategory(db, cat, userName)
}
} else if (syncStatus & model.SyncFlagNewMask) != 0 { // 新增 } else if (syncStatus & model.SyncFlagNewMask) != 0 { // 新增
err = multiStoresHandler.CreateCategory(db, cat, userName) err = multiStoresHandler.CreateCategory(db, cat, userName)
updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[multiStoresHandler.GetVendorID()])) updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[multiStoresHandler.GetVendorID()]))
@@ -280,7 +282,9 @@ func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuI
if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) { if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) {
updateFields := []string{syncStatusFieldName} updateFields := []string{syncStatusFieldName}
if syncStatus&model.SyncFlagDeletedMask != 0 { // 删除 if syncStatus&model.SyncFlagDeletedMask != 0 { // 删除
err = multiStoresHandler.DeleteSku(db, sku, userName) if syncStatus&model.SyncFlagNewMask == 0 {
err = multiStoresHandler.DeleteSku(db, sku, userName)
}
} else if syncStatus&model.SyncFlagNewMask != 0 { // 新增 } else if syncStatus&model.SyncFlagNewMask != 0 { // 新增
if err = multiStoresHandler.CreateSku(db, sku, userName); err == nil { if err = multiStoresHandler.CreateSku(db, sku, userName); err == nil {
var tmpStruct struct { var tmpStruct struct {

View File

@@ -243,7 +243,9 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
updateFields := []string{model.FieldEbaiSyncStatus} updateFields := []string{model.FieldEbaiSyncStatus}
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite { if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if storeSku.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 { if storeSku.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 {
err = api.EbaiAPI.SkuDelete(strStoreID, utils.Int64ToStr(storeSku.EbaiID)) if storeSku.EbaiSyncStatus&model.SyncFlagNewMask == 0 {
err = api.EbaiAPI.SkuDelete(strStoreID, utils.Int64ToStr(storeSku.EbaiID))
}
} else if storeSku.EbaiSyncStatus&model.SyncFlagNewMask != 0 { } else if storeSku.EbaiSyncStatus&model.SyncFlagNewMask != 0 {
// globals.SugarLogger.Debug(utils.Format4Output(genSkuParamsFromStoreSkuInfo(storeSku), false)) // globals.SugarLogger.Debug(utils.Format4Output(genSkuParamsFromStoreSkuInfo(storeSku), false))
// todo 适当处理重复(即已经创建)的情况 // todo 适当处理重复(即已经创建)的情况
@@ -500,7 +502,9 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
// globals.SugarLogger.Debug(utils.Format4Output(catInfo, false)) // globals.SugarLogger.Debug(utils.Format4Output(catInfo, false))
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite { if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if catInfo.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 if catInfo.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
err = api.EbaiAPI.ShopCategoryDelete(strStoreID, catInfo.EbaiID) if catInfo.EbaiSyncStatus&model.SyncFlagNewMask == 0 {
err = api.EbaiAPI.ShopCategoryDelete(strStoreID, catInfo.EbaiID)
}
} else if catInfo.EbaiSyncStatus&model.SyncFlagNewMask != 0 { // 新增 } else if catInfo.EbaiSyncStatus&model.SyncFlagNewMask != 0 { // 新增
ebaiID, err2 := api.EbaiAPI.ShopCategoryCreate(strStoreID, catInfo.ParentEbaiID, formatName(catInfo.Name), jxCatSeq2Ebai(catInfo.Seq)) ebaiID, err2 := api.EbaiAPI.ShopCategoryCreate(strStoreID, catInfo.ParentEbaiID, formatName(catInfo.Name), jxCatSeq2Ebai(catInfo.Seq))
if err = err2; err == nil { if err = err2; err == nil {

View File

@@ -36,8 +36,10 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo) catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if catInfo.MtwmSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 if catInfo.MtwmSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID) if catInfo.MtwmSyncStatus&model.SyncFlagNewMask == 0 {
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.MtwmID) globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID)
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.MtwmID)
}
} else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增 } else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增
catName := catInfo.CatName catName := catInfo.CatName
subCatName := "" subCatName := ""
@@ -243,7 +245,9 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
v := batchItemList[0] v := batchItemList[0]
skuItem := v.(*dao.StoreSkuSyncInfo) skuItem := v.(*dao.StoreSkuSyncInfo)
if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 { if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 {
err = api.MtwmAPI.RetailDelete(vendorStoreID, utils.Int2Str(skuItem.ID)) if skuItem.SkuSyncStatus&model.SyncFlagNewMask == 0 {
err = api.MtwmAPI.RetailDelete(vendorStoreID, utils.Int2Str(skuItem.ID))
}
} else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 { } else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 {
foodData := make(map[string]interface{}) foodData := make(map[string]interface{})
foodDataList[0] = foodData foodDataList[0] = foodData

View File

@@ -40,8 +40,10 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo) catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
if globals.EnableStoreWrite && globals.EnableWscStoreWrite { if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
if catInfo.WscSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 if catInfo.WscSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
globals.SugarLogger.Debugf("UpdateClassify strStoreID:%s, WscID:%d", strStoreID, catInfo.WscID) if catInfo.WscSyncStatus&model.SyncFlagNewMask == 0 {
err = api.WeimobAPI.UpdateClassify(catInfo.WscID, composeFakeDelName(catInfo.CatName), "") globals.SugarLogger.Debugf("UpdateClassify strStoreID:%s, WscID:%d", strStoreID, catInfo.WscID)
err = api.WeimobAPI.UpdateClassify(catInfo.WscID, composeFakeDelName(catInfo.CatName), "")
}
} else if catInfo.WscSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增 } else if catInfo.WscSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增
catImg := "" catImg := ""
if level == 2 { if level == 2 {
@@ -179,11 +181,13 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
storeSkuBind := &model.StoreSkuBind{} storeSkuBind := &model.StoreSkuBind{}
storeSkuBind.ID = skuItem.BindID storeSkuBind.ID = skuItem.BindID
if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 { if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 {
goodsID := utils.Str2Int64WithDefault(skuItem.VendorNameID, 0) if skuItem.SkuSyncStatus&model.SyncFlagNewMask == 0 {
if err = api.WeimobAPI.UpdateGoodsShelfStatus([]int64{goodsID}, false); err == nil { goodsID := utils.Str2Int64WithDefault(skuItem.VendorNameID, 0)
err = api.WeimobAPI.UpdateGoodsTitle(goodsID, composeFakeDelName(skuItem.Name)) if err = api.WeimobAPI.UpdateGoodsShelfStatus([]int64{goodsID}, false); err == nil {
} else if intErr, ok := err.(*utils.ErrorWithCode); ok && intErr.Code() == "1001930300001" { // 商品不存在错 err = api.WeimobAPI.UpdateGoodsTitle(goodsID, composeFakeDelName(skuItem.Name))
err = nil // 强制忽略 } else if intErr, ok := err.(*utils.ErrorWithCode); ok && intErr.Code() == "1001930300001" { // 商品不存在错
err = nil // 强制忽略
}
} }
} else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 { } else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 {
outerGoodsCode := utils.Int2Str(skuItem.NameID) outerGoodsCode := utils.Int2Str(skuItem.NameID)