- refactor jd RefreshAllSkusID
This commit is contained in:
@@ -231,7 +231,7 @@ func (v *VendorSync) SyncStore(ctx *jxcontext.Context, db *dao.DaoDB, vendorID,
|
|||||||
|
|
||||||
func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuID int, isAsync bool, userName string) (hint string, err error) {
|
func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuID int, isAsync bool, userName string) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("SyncSku, nameID:%d, skuID:%d, userName:%s", nameID, skuID, userName)
|
globals.SugarLogger.Debugf("SyncSku, nameID:%d, skuID:%d, userName:%s", nameID, skuID, userName)
|
||||||
hint, err = v.LoopMultiStoresVendors(ctx, db, "SyncSku", isAsync, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
return v.LoopMultiStoresVendors(ctx, db, "SyncSku", isAsync, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
multiStoresHandler := v.GetMultiStoreHandler(batchItemList[0].(int))
|
multiStoresHandler := v.GetMultiStoreHandler(batchItemList[0].(int))
|
||||||
syncStatusFieldName := multiStoresHandler.GetFieldSyncStatusName()
|
syncStatusFieldName := multiStoresHandler.GetFieldSyncStatusName()
|
||||||
var skuList []*model.Sku
|
var skuList []*model.Sku
|
||||||
@@ -245,7 +245,7 @@ func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuI
|
|||||||
err := dao.GetEntitiesByKV(db, &skuList, cond, true)
|
err := dao.GetEntitiesByKV(db, &skuList, cond, true)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
// globals.SugarLogger.Debug(utils.Format4Output(skuList, false))
|
// globals.SugarLogger.Debug(utils.Format4Output(skuList, false))
|
||||||
task := tasksch.NewParallelTask("SyncSku", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
task := tasksch.NewParallelTask("SyncSku loop sku", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
sku := batchItemList[0].(*model.Sku)
|
sku := batchItemList[0].(*model.Sku)
|
||||||
syncStatus := jxutils.GetObjFieldByName(sku, syncStatusFieldName).(int8)
|
syncStatus := jxutils.GetObjFieldByName(sku, syncStatusFieldName).(int8)
|
||||||
if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) {
|
if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) {
|
||||||
@@ -270,7 +270,6 @@ func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuI
|
|||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
})
|
})
|
||||||
return "", err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs []int, storeIDs []int, isAsync bool) (hint string, err error) {
|
func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs []int, storeIDs []int, isAsync bool) (hint string, err error) {
|
||||||
|
|||||||
@@ -259,6 +259,7 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
|
|||||||
|
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
var skuPairs []*jdapi.SkuIDPair
|
var skuPairs []*jdapi.SkuIDPair
|
||||||
|
const stepCount = 2
|
||||||
|
|
||||||
rootTask := tasksch.NewSeqTask("jd RefreshAllSkusID", ctx.GetUserName(), func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
rootTask := tasksch.NewSeqTask("jd RefreshAllSkusID", ctx.GetUserName(), func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
switch step {
|
switch step {
|
||||||
@@ -270,10 +271,10 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
|
|||||||
`, utils.DefaultTimeValue)
|
`, utils.DefaultTimeValue)
|
||||||
default:
|
default:
|
||||||
taskName := "RefreshAllSkusID update id"
|
taskName := "RefreshAllSkusID update id"
|
||||||
if step == 1 {
|
if step != stepCount-1 {
|
||||||
taskName = "RefreshAllSkusID update uuid"
|
taskName = "RefreshAllSkusID update uuid"
|
||||||
}
|
}
|
||||||
task1 := tasksch.NewParallelTask(taskName, tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx.GetUserName(), func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
task1 := tasksch.NewParallelTask(taskName, tasksch.NewParallelConfig().SetIsContinueWhenError(true).SetBatchSize(jdapi.MaxBatchSize4BatchUpdateOutSkuId), ctx.GetUserName(), func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
skuPairs := make([]*jdapi.SkuIDPair, len(batchItemList))
|
skuPairs := make([]*jdapi.SkuIDPair, len(batchItemList))
|
||||||
for k, v := range batchItemList {
|
for k, v := range batchItemList {
|
||||||
pair := v.(*jdapi.SkuIDPair)
|
pair := v.(*jdapi.SkuIDPair)
|
||||||
@@ -281,11 +282,12 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
|
|||||||
SkuId: pair.SkuId,
|
SkuId: pair.SkuId,
|
||||||
OutSkuId: pair.OutSkuId,
|
OutSkuId: pair.OutSkuId,
|
||||||
}
|
}
|
||||||
if step == 1 {
|
if step != stepCount-1 {
|
||||||
skuPairs[k].OutSkuId = utils.GetUUID()
|
skuPairs[k].OutSkuId = utils.GetUUID()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if globals.EnableStoreWrite {
|
globals.SugarLogger.Debug(utils.Format4Output(skuPairs, false))
|
||||||
|
if true { //globals.EnableStoreWrite {
|
||||||
_, err = api.JdAPI.BatchUpdateOutSkuId(skuPairs)
|
_, err = api.JdAPI.BatchUpdateOutSkuId(skuPairs)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -294,7 +296,7 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
|
|||||||
_, err = task1.GetResult(0)
|
_, err = task1.GetResult(0)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, 3)
|
}, stepCount)
|
||||||
ctx.SetTaskOrAddChild(rootTask, parentTask)
|
ctx.SetTaskOrAddChild(rootTask, parentTask)
|
||||||
rootTask.Run()
|
rootTask.Run()
|
||||||
if !isAsync {
|
if !isAsync {
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ func (p *PurchaseHandler) GetAllStoresFromRemote() ([]*model.Store, error) {
|
|||||||
|
|
||||||
func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error) {
|
func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("jd RefreshAllStoresID")
|
globals.SugarLogger.Debugf("jd RefreshAllStoresID")
|
||||||
|
const stepCount = 3
|
||||||
var stores []*tJdStoreInfo
|
var stores []*tJdStoreInfo
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
rootTask := tasksch.NewSeqTask("jd RefreshAllStoresID", ctx.GetUserName(), func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
rootTask := tasksch.NewSeqTask("jd RefreshAllStoresID", ctx.GetUserName(), func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
@@ -209,7 +209,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
|
|||||||
`, utils.DefaultTimeValue, model.VendorIDJD, utils.DefaultTimeValue)
|
`, utils.DefaultTimeValue, model.VendorIDJD, utils.DefaultTimeValue)
|
||||||
default:
|
default:
|
||||||
taskName := "jd RefreshAllStoresID update outSystemId"
|
taskName := "jd RefreshAllStoresID update outSystemId"
|
||||||
if step == 1 {
|
if step != stepCount-1 {
|
||||||
taskName = "jd RefreshAllStoresID update to uuid"
|
taskName = "jd RefreshAllStoresID update to uuid"
|
||||||
}
|
}
|
||||||
task1 := tasksch.NewParallelTask(taskName, nil, ctx.GetUserName(), func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
task1 := tasksch.NewParallelTask(taskName, nil, ctx.GetUserName(), func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
@@ -217,7 +217,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
|
|||||||
storeParams := map[string]interface{}{
|
storeParams := map[string]interface{}{
|
||||||
"outSystemId": utils.Int2Str(int(store.ID)),
|
"outSystemId": utils.Int2Str(int(store.ID)),
|
||||||
}
|
}
|
||||||
if step == 1 {
|
if step != stepCount-1 {
|
||||||
storeParams["outSystemId"] = utils.GetUUID()
|
storeParams["outSystemId"] = utils.GetUUID()
|
||||||
}
|
}
|
||||||
if true { //globals.EnableStoreWrite {
|
if true { //globals.EnableStoreWrite {
|
||||||
@@ -229,7 +229,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
|
|||||||
_, err = task1.GetResult(0)
|
_, err = task1.GetResult(0)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, 3)
|
}, stepCount)
|
||||||
|
|
||||||
ctx.SetTaskOrAddChild(rootTask, parentTask)
|
ctx.SetTaskOrAddChild(rootTask, parentTask)
|
||||||
rootTask.Run()
|
rootTask.Run()
|
||||||
|
|||||||
Reference in New Issue
Block a user