| @@ -1,6 +1,8 @@ | |||||
| package core | package core | ||||
| import ( | import ( | ||||
| "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result" | |||||
| "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils" | |||||
| "net/http" | "net/http" | ||||
| "github.com/zeromicro/go-zero/rest/httpx" | "github.com/zeromicro/go-zero/rest/httpx" | ||||
| @@ -13,16 +15,22 @@ func ScheduleTaskByYamlHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | |||||
| return func(w http.ResponseWriter, r *http.Request) { | return func(w http.ResponseWriter, r *http.Request) { | ||||
| var req types.ScheduleTaskByYamlReq | var req types.ScheduleTaskByYamlReq | ||||
| if err := httpx.Parse(r, &req); err != nil { | if err := httpx.Parse(r, &req); err != nil { | ||||
| httpx.ErrorCtx(r.Context(), w, err) | |||||
| result.HttpResult(r, w, nil, err) | |||||
| return | return | ||||
| } | } | ||||
| l := core.NewScheduleTaskByYamlLogic(r.Context(), svcCtx) | |||||
| err := l.ScheduleTaskByYaml(&req) | |||||
| // 解析yaml文件 | |||||
| _, fileHeader, err := r.FormFile("file") | |||||
| if err != nil { | if err != nil { | ||||
| httpx.ErrorCtx(r.Context(), w, err) | |||||
| } else { | |||||
| httpx.Ok(w) | |||||
| result.HttpResult(r, w, nil, err) | |||||
| return | |||||
| } | } | ||||
| err = utils.Yaml2struct(fileHeader, &req) | |||||
| if err != nil { | |||||
| result.HttpResult(r, w, nil, err) | |||||
| return | |||||
| } | |||||
| l := core.NewScheduleTaskByYamlLogic(r.Context(), svcCtx) | |||||
| resp, err := l.ScheduleTaskByYaml(&req) | |||||
| result.HttpResult(r, w, resp, err) | |||||
| } | } | ||||
| } | } | ||||