sync2中没有正确使用vendorIDs与appOrgCodes的bug修复
This commit is contained in:
@@ -39,10 +39,10 @@ func getMultiStoreVendorInfoList() (list []*MultiStoreVendorInfo) {
|
|||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
func syncCategories(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.ITask, vendorIDs []int, appOrgCodes []string, catList []*dao.SkuStoreCatInfo, isAsync bool) (hint string, err error) {
|
func syncCategories(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.ITask, catList []*dao.SkuStoreCatInfo, isAsync bool) (hint string, err error) {
|
||||||
if len(catList) > 0 {
|
if len(catList) > 0 {
|
||||||
// todo 按vendorID orgCode合并操作
|
// todo 按vendorID orgCode合并操作
|
||||||
task := tasksch.NewParallelTask(fmt.Sprintf("同步分类2:%v", appOrgCodes), tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
task := tasksch.NewParallelTask(fmt.Sprintf("同步分类2:%D", len(catList)), tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
catVendorInfo := batchItemList[0].(*dao.SkuStoreCatInfo)
|
catVendorInfo := batchItemList[0].(*dao.SkuStoreCatInfo)
|
||||||
if catVendorInfo.Level != 1 && catVendorInfo.ParentVendorCatID == "" {
|
if catVendorInfo.Level != 1 && catVendorInfo.ParentVendorCatID == "" {
|
||||||
@@ -83,7 +83,7 @@ func syncCategories(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.IT
|
|||||||
func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, appOrgCodes []string, catIDs []int, isAsync bool) (hint string, err error) {
|
func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, appOrgCodes []string, catIDs []int, isAsync bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("SyncCategories catIDs:%v", catIDs)
|
globals.SugarLogger.Debugf("SyncCategories catIDs:%v", catIDs)
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
catList, err := dao.GetSkuCategoryWithVendor(db, nil, nil, -1, catIDs, true)
|
catList, err := dao.GetSkuCategoryWithVendor(db, vendorIDs, appOrgCodes, -1, catIDs, true)
|
||||||
if err == nil && len(catList) > 0 {
|
if err == nil && len(catList) > 0 {
|
||||||
var needSyncParentIDs []int
|
var needSyncParentIDs []int
|
||||||
for _, cat := range catList {
|
for _, cat := range catList {
|
||||||
@@ -96,14 +96,14 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs
|
|||||||
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
switch step {
|
switch step {
|
||||||
case 0:
|
case 0:
|
||||||
catList2, err := dao.GetSkuCategoryWithVendor(db, nil, nil, -1, needSyncParentIDs, true)
|
catList2, err := dao.GetSkuCategoryWithVendor(db, vendorIDs, appOrgCodes, -1, needSyncParentIDs, true)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
_, err = syncCategories(ctx, db, task, vendorIDs, appOrgCodes, catList2, false)
|
_, err = syncCategories(ctx, db, task, catList2, false)
|
||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
catList2, err := dao.GetSkuCategoryWithVendor(db, nil, nil, -1, catIDs, true)
|
catList2, err := dao.GetSkuCategoryWithVendor(db, vendorIDs, appOrgCodes, -1, catIDs, true)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
_, err = syncCategories(ctx, db, task, vendorIDs, appOrgCodes, catList2, false)
|
_, err = syncCategories(ctx, db, task, catList2, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result, err
|
return result, err
|
||||||
@@ -118,7 +118,7 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
hint, err = syncCategories(ctx, db, parentTask, vendorIDs, appOrgCodes, catList, false)
|
hint, err = syncCategories(ctx, db, parentTask, catList, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return hint, err
|
return hint, err
|
||||||
@@ -127,7 +127,7 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs
|
|||||||
func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, appOrgCodes []string, nameIDs, skuIDs []int, isAsync bool) (hint string, err error) {
|
func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, appOrgCodes []string, nameIDs, skuIDs []int, isAsync bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("SyncSkus nameIDs:%v, skuIDs:%v", nameIDs, skuIDs)
|
globals.SugarLogger.Debugf("SyncSkus nameIDs:%v, skuIDs:%v", nameIDs, skuIDs)
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
skuList, err := dao.GetSkusWithVendor(db, nil, nil, nameIDs, skuIDs, true)
|
skuList, err := dao.GetSkusWithVendor(db, vendorIDs, appOrgCodes, nameIDs, skuIDs, true)
|
||||||
if err == nil && len(skuList) > 0 {
|
if err == nil && len(skuList) > 0 {
|
||||||
// todo 按vendorID orgCode合并操作
|
// todo 按vendorID orgCode合并操作
|
||||||
task := tasksch.NewParallelTask(fmt.Sprintf("同步商品:%v,%v", nameIDs, skuIDs), tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
task := tasksch.NewParallelTask(fmt.Sprintf("同步商品:%v,%v", nameIDs, skuIDs), tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
||||||
@@ -136,6 +136,9 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int,
|
|||||||
if skuVendorInfo.VendorCatID == "" {
|
if skuVendorInfo.VendorCatID == "" {
|
||||||
return nil, fmt.Errorf("商品:%d的商家分类没有同步", skuVendorInfo.SkuID)
|
return nil, fmt.Errorf("商品:%d的商家分类没有同步", skuVendorInfo.SkuID)
|
||||||
}
|
}
|
||||||
|
if skuVendorInfo.BindID == 0 {
|
||||||
|
return nil, fmt.Errorf("商品:%d的数据异常", skuVendorInfo.SkuID)
|
||||||
|
}
|
||||||
skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0)
|
skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0)
|
||||||
skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus)
|
skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus)
|
||||||
if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok {
|
if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok {
|
||||||
|
|||||||
Reference in New Issue
Block a user