diff --git a/internal/app/controller/plan/converter.go b/internal/app/controller/plan/converter.go index 6ace996..1727c14 100644 --- a/internal/app/controller/plan/converter.go +++ b/internal/app/controller/plan/converter.go @@ -64,13 +64,14 @@ func PlanFromCreateRequest(req *CreatePlanRequest) (*models.Plan, error) { ExecutionType: req.ExecutionType, ExecuteNum: req.ExecuteNum, CronExpression: req.CronExpression, - ContentType: req.ContentType, + // ContentType 在控制器中设置,此处不再处理 } // 处理子计划 (通过ID引用) - if req.ContentType == models.PlanContentTypeSubPlans && req.SubPlanIDs != nil { - plan.SubPlans = make([]models.SubPlan, len(req.SubPlanIDs)) - for i, childPlanID := range req.SubPlanIDs { + if req.SubPlanIDs != nil { + subPlanSlice := req.SubPlanIDs + plan.SubPlans = make([]models.SubPlan, len(subPlanSlice)) + for i, childPlanID := range subPlanSlice { plan.SubPlans[i] = models.SubPlan{ ChildPlanID: childPlanID, ExecutionOrder: i, // 默认执行顺序, ReorderSteps会再次确认 @@ -79,9 +80,10 @@ func PlanFromCreateRequest(req *CreatePlanRequest) (*models.Plan, error) { } // 处理任务 - if req.ContentType == models.PlanContentTypeTasks && req.Tasks != nil { - plan.Tasks = make([]models.Task, len(req.Tasks)) - for i, taskReq := range req.Tasks { + if req.Tasks != nil { + taskSlice := req.Tasks + plan.Tasks = make([]models.Task, len(taskSlice)) + for i, taskReq := range taskSlice { task, err := TaskFromRequest(&taskReq) if err != nil { return nil, err @@ -114,13 +116,14 @@ func PlanFromUpdateRequest(req *UpdatePlanRequest) (*models.Plan, error) { ExecutionType: req.ExecutionType, ExecuteNum: req.ExecuteNum, CronExpression: req.CronExpression, - ContentType: req.ContentType, + // ContentType 在控制器中设置,此处不再处理 } // 处理子计划 (通过ID引用) - if req.ContentType == models.PlanContentTypeSubPlans && req.SubPlanIDs != nil { - plan.SubPlans = make([]models.SubPlan, len(req.SubPlanIDs)) - for i, childPlanID := range req.SubPlanIDs { + if req.SubPlanIDs != nil { + subPlanSlice := req.SubPlanIDs + plan.SubPlans = make([]models.SubPlan, len(subPlanSlice)) + for i, childPlanID := range subPlanSlice { plan.SubPlans[i] = models.SubPlan{ ChildPlanID: childPlanID, ExecutionOrder: i, // 默认执行顺序, ReorderSteps会再次确认 @@ -129,9 +132,10 @@ func PlanFromUpdateRequest(req *UpdatePlanRequest) (*models.Plan, error) { } // 处理任务 - if req.ContentType == models.PlanContentTypeTasks && req.Tasks != nil { - plan.Tasks = make([]models.Task, len(req.Tasks)) - for i, taskReq := range req.Tasks { + if req.Tasks != nil { + taskSlice := req.Tasks + plan.Tasks = make([]models.Task, len(taskSlice)) + for i, taskReq := range taskSlice { task, err := TaskFromRequest(&taskReq) if err != nil { return nil, err