This commit is contained in:
苏尹岚
2021-03-17 14:52:46 +08:00
parent bb24236869
commit 9dc520daa3
2 changed files with 152 additions and 75 deletions

View File

@@ -397,9 +397,9 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM
func RefreshStoreManageState(ctx *jxcontext.Context) {
var (
db = dao.GetDB()
vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}
messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12
db = dao.GetDB()
vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}
// messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12
)
task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
@@ -429,44 +429,44 @@ func RefreshStoreManageState(ctx *jxcontext.Context) {
createList = append(createList, v)
}
}
task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeID := batchItemList[0].(int)
storeManage := &model.StoreManageState{
StoreID: storeID,
VendorID: vendorID,
}
dao.DeleteEntity(db, storeManage, "StoreID", "VendorID")
return retVal, err
}, deleteList)
tasksch.HandleTask(task2, task, true).Run()
task2.GetResult(0)
task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeMap := batchItemList[0].(*model.StoreMap)
if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
return retVal, err
}
storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
dao.CreateEntity(db, storeManage)
return retVal, err
}, createList)
tasksch.HandleTask(task3, task, true).Run()
task3.GetResult(0)
task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeMap := batchItemList[0].(*model.StoreMap)
if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
return retVal, err
}
storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
dao.UpdateEntity(db, storeManage)
return retVal, err
}, updateList)
tasksch.HandleTask(task4, task, true).Run()
task4.GetResult(0)
// task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeID := batchItemList[0].(int)
// storeManage := &model.StoreManageState{
// StoreID: storeID,
// VendorID: vendorID,
// }
// dao.DeleteEntity(db, storeManage, "StoreID", "VendorID")
// return retVal, err
// }, deleteList)
// tasksch.HandleTask(task2, task, true).Run()
// task2.GetResult(0)
// task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeMap := batchItemList[0].(*model.StoreMap)
// if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
// return retVal, err
// }
// storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
// storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
// dao.CreateEntity(db, storeManage)
// return retVal, err
// }, createList)
// tasksch.HandleTask(task3, task, true).Run()
// task3.GetResult(0)
// task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeMap := batchItemList[0].(*model.StoreMap)
// if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
// return retVal, err
// }
// storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
// storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
// dao.UpdateEntity(db, storeManage)
// return retVal, err
// }, updateList)
// tasksch.HandleTask(task4, task, true).Run()
// task4.GetResult(0)
return retVal, err
}, vendorIDs)
tasksch.HandleTask(task, nil, true).Run()

View File

@@ -1888,44 +1888,121 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// }, storeMaps)
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
// var (
// db = dao.GetDB()
// skuNames []*model.SkuName
// failedSku []string
// )
// sql := `
// SELECT * FROM sku_name WHERE deleted_at = ? AND img = ?
// `
// sqlParams := []interface{}{
// utils.DefaultTimeValue, model.NOSkuNameImg,
// }
// dao.GetRows(db, &skuNames, sql, sqlParams)
// for _, v := range skuNames {
// if v.Upc != nil {
// result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc)
// if result != nil {
// if v.Img == model.NOSkuNameImg {
// imgs := strings.Split(result.Pic, ",")
// if len(imgs) == 1 {
// v.Img = imgs[0]
// }
// if len(imgs) == 2 {
// v.Img = imgs[0]
// v.Img2 = imgs[1]
// }
// if len(imgs) >= 3 {
// v.Img = imgs[0]
// v.Img2 = imgs[1]
// v.Img3 = imgs[2]
// }
// dao.UpdateEntity(db, v, "Img", "Img2", "Img3")
// }
// } else {
// failedSku = append(failedSku, *v.Upc)
// }
// }
// }
var (
db = dao.GetDB()
skuNames []*model.SkuName
failedSku []string
vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}
// messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12
)
sql := `
SELECT * FROM sku_name WHERE deleted_at = ? AND img = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue, model.NOSkuNameImg,
}
dao.GetRows(db, &skuNames, sql, sqlParams)
for _, v := range skuNames {
if v.Upc != nil {
result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc)
if result != nil {
if v.Img == model.NOSkuNameImg {
imgs := strings.Split(result.Pic, ",")
if len(imgs) == 1 {
v.Img = imgs[0]
}
if len(imgs) == 2 {
v.Img = imgs[0]
v.Img2 = imgs[1]
}
if len(imgs) >= 3 {
v.Img = imgs[0]
v.Img2 = imgs[1]
v.Img3 = imgs[2]
}
dao.UpdateEntity(db, v, "Img", "Img2", "Img3")
}
} else {
failedSku = append(failedSku, *v.Upc)
task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
vendorID := batchItemList[0].(int)
storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "")
paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize)
var (
storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult)
storeMapsMap = make(map[int]*model.StoreMap)
storeManagesMap = make(map[int]*dao.GetStoreManageStateResult)
deleteList []int
createList, updateList []*model.StoreMap
)
for _, v := range storeMaps {
storeMapsMap[v.StoreID] = v
}
}
}
fmt.Println("failedSku11111111111111111111111111111111", failedSku)
for _, v := range storeManageStates {
storeManagesMap[v.StoreID] = v
if storeMapsMap[v.StoreID] != nil {
updateList = append(updateList, storeMapsMap[v.StoreID])
} else {
deleteList = append(deleteList, v.StoreID)
}
}
for _, v := range storeMapsMap {
if storeManagesMap[v.StoreID] == nil {
createList = append(createList, v)
}
}
fmt.Println("aaaaaaaaaaaaaaaaa", len(updateList))
fmt.Println("bbbbbbbbbbbbbbbbbbbbb", utils.Format4Output(deleteList, false))
fmt.Println("ccccccccccccccccccccccccc", utils.Format4Output(createList, false))
// task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeID := batchItemList[0].(int)
// storeManage := &model.StoreManageState{
// StoreID: storeID,
// VendorID: vendorID,
// }
// dao.DeleteEntity(db, storeManage, "StoreID", "VendorID")
// return retVal, err
// }, deleteList)
// tasksch.HandleTask(task2, task, true).Run()
// task2.GetResult(0)
// task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeMap := batchItemList[0].(*model.StoreMap)
// if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
// return retVal, err
// }
// storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
// storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
// dao.CreateEntity(db, storeManage)
// return retVal, err
// }, createList)
// tasksch.HandleTask(task3, task, true).Run()
// task3.GetResult(0)
// task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeMap := batchItemList[0].(*model.StoreMap)
// if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" {
// return retVal, err
// }
// storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode)
// storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag)
// dao.UpdateEntity(db, storeManage)
// return retVal, err
// }, updateList)
// tasksch.HandleTask(task4, task, true).Run()
// task4.GetResult(0)
return retVal, err
}, vendorIDs)
tasksch.HandleTask(task, nil, true).Run()
task.GetID()
return err
}