同步错误返回

This commit is contained in:
苏尹岚
2020-01-09 14:02:32 +08:00
parent 77e4fb078f
commit e6c59c4850
8 changed files with 176 additions and 198 deletions

View File

@@ -83,17 +83,21 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
var failedList []*partner.StoreSkuInfoWithErr
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) { // 删除
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) && !dao.IsVendorThingIDEmpty(catInfo.VendorCatID) {
failedList, err = handler.DeleteStoreCategory(ctx, storeID, vendorStoreID, catInfo.VendorCatID, level)
err = handler.DeleteStoreCategory(ctx, storeID, vendorStoreID, catInfo.VendorCatID, level)
if err != nil && handler.IsErrCategoryNotExist(err) {
err = nil
} else if err != nil && !handler.IsErrCategoryNotExist(err) {
failedList = putils.GetErrMsg2FailedSingleList(nil, err, storeID, vendorID, "删除分类")
}
}
} else if model.IsSyncStatusNew(catInfo.CatSyncStatus) { // 新增
failedList, err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo)
err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo)
if err != nil && handler.IsErrCategoryExist(err) {
if cat, err2 := handler.GetStoreCategory(ctx, storeID, vendorStoreID, catInfo.Name); err2 == nil {
catInfo.VendorCatID = cat.VendorCatID
err = nil
} else if err != nil && !handler.IsErrCategoryExist(err) {
failedList = putils.GetErrMsg2FailedSingleList(nil, err, storeID, vendorID, "新增分类")
}
}
if err == nil {
@@ -104,9 +108,11 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
}
}
} else if model.IsSyncStatusUpdate(catInfo.CatSyncStatus) { // 修改
failedList, err = handler.UpdateStoreCategory(ctx, storeID, vendorStoreID, catInfo)
err = handler.UpdateStoreCategory(ctx, storeID, vendorStoreID, catInfo)
if err == nil {
updateFields = append(updateFields, idFieldName)
} else {
failedList = putils.GetErrMsg2FailedSingleList(nil, err, storeID, vendorID, "修改分类")
}
}
if len(failedList) > 0 {
@@ -797,7 +803,7 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v
task4Delete := tasksch.NewParallelTask(fmt.Sprintf("删除商家分类,level:%d", level), tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
cat := batchItemList[0].(*partner.BareCategoryInfo)
_, err = handler.DeleteStoreCategory(ctx, storeID, vendorStoreID, cat.VendorCatID, level)
err = handler.DeleteStoreCategory(ctx, storeID, vendorStoreID, cat.VendorCatID, level)
return nil, err
}, levelCat2Delete)
tasksch.HandleTask(task4Delete, task, true).Run()