|
@@ -0,0 +1,59 @@
|
|
|
+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/60 * * * * *"
|
|
|
+)
|
|
|
+
|
|
|
+// 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)
|
|
|
+}
|