Files
jx-callback/business/partner/purchase/ebai/common.go
gazebo 25ac631c5c - refactor jxcontent and tasksch (remove dependency from jxcontent to tasksch)
- send dingding msg to user when async task finished
2019-03-22 15:04:28 +08:00

48 lines
1.4 KiB
Go

package ebai
import (
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
)
func (p *PurchaseHandler) UpdatePlaces() (err error) {
provinces, err := api.EbaiAPI.CommonShopCities(0)
if err == nil {
task := tasksch.NewParallelTask("UpdatePlaces", nil, jxcontext.AdminCtx,
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
province := batchItemList[0].(*ebaiapi.CityInfo)
retSlice := make([]*ebaiapi.CityInfo, 0)
if province.IsOpen != 0 {
retSlice = append(retSlice, province)
cities, err := api.EbaiAPI.CommonShopCities(province.ID)
for _, city := range cities {
if city.IsOpen != 0 {
retSlice = append(retSlice, city)
districts, err2 := api.EbaiAPI.CommonShopCities(city.ID)
if err = err2; err == nil {
for _, district := range districts {
if district.IsOpen != 0 {
retSlice = append(retSlice, district)
}
}
} else {
break
}
}
}
}
return retSlice, err
}, provinces)
task.Run()
places, err2 := task.GetResult(0)
if err = err2; err == nil {
globals.SugarLogger.Debug(utils.Format4Output(places, false))
}
}
return err
}