刷新京东门店等级
This commit is contained in:
@@ -2585,49 +2585,42 @@ func RefreshJdLevel(ctx *jxcontext.Context) (err error) {
|
|||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
storeMapList, err := dao.GetStoresMapList(db, []int{model.VendorIDJD}, nil, model.StoreStatusOpened, -1, "")
|
storeMapList, err := dao.GetStoresMapList(db, []int{model.VendorIDJD}, nil, model.StoreStatusOpened, -1, "")
|
||||||
if len(storeMapList) > 0 {
|
if len(storeMapList) > 0 {
|
||||||
for _, v := range storeMapList {
|
task := tasksch.NewParallelTask("更新京东门店等级", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
||||||
var (
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
pageNoList []int
|
v := batchItemList[0].(*model.StoreMap)
|
||||||
storeMap = make(map[int]string)
|
var (
|
||||||
pageNo int
|
pageLimit = 50
|
||||||
pageLimit = 50
|
pageNo = 1
|
||||||
)
|
level string
|
||||||
for i := 1; i < pageLimit; i++ {
|
)
|
||||||
pageNoList = append(pageNoList, i)
|
for ; pageNo < pageLimit+1; pageNo++ {
|
||||||
}
|
level, err = jd.GetAPI(v.VendorOrgCode).GetJdStoreLevel(v.VendorOrgCode, v.VendorStoreID, pageNo)
|
||||||
task1 := tasksch.NewParallelTask("获取京东门店等级", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
if err != nil {
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
return retVal, err
|
||||||
currentPage := batchItemList[0].(int)
|
|
||||||
level, err := jd.GetAPI(v.VendorOrgCode).GetJdStoreLevel(v.VendorOrgCode, v.VendorStoreID, currentPage)
|
|
||||||
tJdStoreInfo1 := &JdStoreLevelExt{
|
|
||||||
Level: level,
|
|
||||||
PageNo: currentPage,
|
|
||||||
}
|
}
|
||||||
retVal = []*JdStoreLevelExt{tJdStoreInfo1}
|
if level != "" {
|
||||||
return retVal, err
|
break
|
||||||
}, pageNoList)
|
}
|
||||||
tasksch.HandleTask(task1, nil, true).Run()
|
if pageNo == pageLimit {
|
||||||
tJdStoreInfoInterface, err := task1.GetResult(0)
|
level = ""
|
||||||
for _, v := range tJdStoreInfoInterface {
|
|
||||||
store := v.(*JdStoreLevelExt)
|
|
||||||
if store.PageNo < pageNo {
|
|
||||||
pageNo = store.PageNo
|
|
||||||
}
|
|
||||||
storeMap[store.PageNo] = store.Level
|
|
||||||
}
|
|
||||||
v.JdStoreLevel = storeMap[pageNo]
|
|
||||||
dao.Begin(db)
|
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil || err != nil {
|
|
||||||
dao.Rollback(db)
|
|
||||||
if r != nil {
|
|
||||||
panic(r)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
v.JdStoreLevel = level
|
||||||
_, err = dao.UpdateEntity(db, v, "JdStoreLevel")
|
dao.Begin(db)
|
||||||
dao.Commit(db)
|
defer func() {
|
||||||
}
|
if r := recover(); r != nil || err != nil {
|
||||||
|
dao.Rollback(db)
|
||||||
|
if r != nil {
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
_, err = dao.UpdateEntity(db, v, "JdStoreLevel")
|
||||||
|
dao.Commit(db)
|
||||||
|
return retVal, err
|
||||||
|
}, storeMapList)
|
||||||
|
tasksch.HandleTask(task, nil, true).Run()
|
||||||
|
_, err = task.GetResult(0)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user