diff --git a/api/internal/handler/core/scheduletaskbyyamlhandler.go b/api/internal/handler/core/scheduletaskbyyamlhandler.go index 1841a389..c3447137 100644 --- a/api/internal/handler/core/scheduletaskbyyamlhandler.go +++ b/api/internal/handler/core/scheduletaskbyyamlhandler.go @@ -1,6 +1,8 @@ package core import ( + "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result" + "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils" "net/http" "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) { var req types.ScheduleTaskByYamlReq if err := httpx.Parse(r, &req); err != nil { - httpx.ErrorCtx(r.Context(), w, err) + result.HttpResult(r, w, nil, err) return } - - l := core.NewScheduleTaskByYamlLogic(r.Context(), svcCtx) - err := l.ScheduleTaskByYaml(&req) + // 解析yaml文件 + _, fileHeader, err := r.FormFile("file") 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) } }