eta_permission_task.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package permission
  2. import (
  3. "encoding/json"
  4. logger "eta/eta_mini_ht_api/common/component/log"
  5. "eta/eta_mini_ht_api/common/contants"
  6. configService "eta/eta_mini_ht_api/domian/config"
  7. "eta/eta_mini_ht_api/models/eta"
  8. "eta/eta_mini_ht_api/task/base"
  9. )
  10. var (
  11. taskName base.TaskType = "ETAPermissionSyncTask"
  12. cron = "0/10 * * * * *"
  13. )
  14. // Execute Task ETA取研报的数据
  15. func (pr *PermissionTask) Execute(taskDetail *base.TaskDetail) error {
  16. logger.Info(contants.TaskFormat, "同步ETA品种开始")
  17. permissionList, err := eta.GetSyncPermissionList()
  18. if err != nil {
  19. logger.Error("获取ETA品种列表失败:%v", err)
  20. return err
  21. }
  22. if len(permissionList) > 0 {
  23. var list []byte
  24. list, err = json.Marshal(permissionList)
  25. if err == nil {
  26. taskDetail.Content = string(list)
  27. }
  28. var permissionDTOList []configService.PermissionDTO
  29. for _, permisson := range permissionList {
  30. permissionDTOList = append(permissionDTOList, convert(permisson))
  31. }
  32. err = configService.SyncPermission(permissionDTOList)
  33. if err != nil {
  34. logger.Error("同步ETA品种列表失败:%v", err)
  35. return err
  36. }
  37. }
  38. logger.Info(contants.TaskFormat, "同步ETA品种结束")
  39. return nil
  40. }
  41. type PermissionTask struct {
  42. }
  43. func convert(permission eta.ChartPermission) configService.PermissionDTO {
  44. return configService.PermissionDTO{
  45. PermissionId: permission.ChartPermissionID,
  46. PermissionName: permission.PermissionName,
  47. ParentId: permission.ParentID,
  48. Sort: permission.Sort,
  49. }
  50. }
  51. func init() {
  52. permissionTask := base.NewTask(taskName, cron, new(PermissionTask), base.PROD)
  53. base.RegisterTask(&permissionTask)
  54. }