package permission import ( "encoding/json" logger "eta/eta_mini_ht_api/common/component/log" "eta/eta_mini_ht_api/common/contants" configService "eta/eta_mini_ht_api/domian/config" "eta/eta_mini_ht_api/models/eta" "eta/eta_mini_ht_api/task/base" ) var ( taskName base.TaskType = "ETAPermissionSyncTask" cron = "0/10 * * * * *" ) // Execute Task ETA取研报的数据 func (pr *PermissionTask) Execute(taskDetail *base.TaskDetail) error { logger.Info(contants.TaskFormat, "同步ETA品种开始") permissionList, err := eta.GetSyncPermissionList() if err != nil { logger.Error("获取ETA品种列表失败:%v", err) return err } if len(permissionList) > 0 { var list []byte list, err = json.Marshal(permissionList) if err == nil { taskDetail.Content = string(list) } var permissionDTOList []configService.PermissionDTO for _, permisson := range permissionList { permissionDTOList = append(permissionDTOList, convert(permisson)) } err = configService.SyncPermission(permissionDTOList) if err != nil { logger.Error("同步ETA品种列表失败:%v", err) return err } } logger.Info(contants.TaskFormat, "同步ETA品种结束") return nil } type PermissionTask struct { } func convert(permission eta.ChartPermission) configService.PermissionDTO { return configService.PermissionDTO{ PermissionId: permission.ChartPermissionID, PermissionName: permission.PermissionName, ParentId: permission.ParentID, Sort: permission.Sort, } } func init() { permissionTask := base.NewTask(taskName, cron, new(PermissionTask), base.PROD) base.RegisterTask(&permissionTask) }