diff --git a/internal/controllers/task_controller.go b/internal/controllers/task_controller.go index 87df3cc..c6bc05d 100644 --- a/internal/controllers/task_controller.go +++ b/internal/controllers/task_controller.go @@ -60,6 +60,7 @@ func resolveWorkDir(workDir string) string { func (tc *TaskController) CreateTask(c *gin.Context) { var req struct { Name string `json:"name" binding:"required"` + Remark string `json:"remark"` Command string `json:"command"` PreCommand string `json:"pre_command"` PostCommand string `json:"post_command"` @@ -121,12 +122,12 @@ func (tc *TaskController) CreateTask(c *gin.Context) { if sourceID != "" { task = tc.taskService.GetTaskBySourceID(sourceID) if task != nil { - task = tc.taskService.UpdateTask(task.ID, req.Name, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, true, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) + task = tc.taskService.UpdateTask(task.ID, req.Name, req.Remark, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, true, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) } } if task == nil { - task = tc.taskService.CreateTask(req.Name, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) + task = tc.taskService.CreateTask(req.Name, req.Remark, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) } // 如果是 Agent 任务,通知 Agent;否则添加到本地 cron @@ -226,6 +227,7 @@ func (tc *TaskController) UpdateTask(c *gin.Context) { var req struct { Name string `json:"name"` + Remark string `json:"remark"` Command string `json:"command"` PreCommand string `json:"pre_command"` PostCommand string `json:"post_command"` @@ -278,7 +280,7 @@ func (tc *TaskController) UpdateTask(c *gin.Context) { sourceID = oldTask.SourceID } - task := tc.taskService.UpdateTask(id, req.Name, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, req.Enabled, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) + task := tc.taskService.UpdateTask(id, req.Name, req.Remark, req.Command, req.PreCommand, req.PostCommand, req.Schedule, req.Timeout, workDir, req.CleanConfig, req.Envs, req.Enabled, req.Type, req.Config, req.AgentID, req.Languages, req.TriggerType, req.Tags, req.RetryCount, req.RetryInterval, req.RandomRange, sourceID, req.PinType) if task == nil { utils.NotFound(c, "任务不存在") return diff --git a/internal/models/vo/task_vo.go b/internal/models/vo/task_vo.go index 40282ab..30206e2 100644 --- a/internal/models/vo/task_vo.go +++ b/internal/models/vo/task_vo.go @@ -10,6 +10,7 @@ import ( type TaskVO struct { ID string `json:"id"` Name string `json:"name"` + Remark string `json:"remark"` Command string `json:"command"` PreCommand string `json:"pre_command"` PostCommand string `json:"post_command"` @@ -45,6 +46,7 @@ func ToTaskVO(task *models.Task) *TaskVO { return &TaskVO{ ID: task.ID, Name: task.Name, + Remark: task.Remark, Command: string(task.Command), PreCommand: string(task.PreCommand), PostCommand: string(task.PostCommand), diff --git a/internal/services/tasks/task_service.go b/internal/services/tasks/task_service.go index 4d8f715..e83b5c1 100644 --- a/internal/services/tasks/task_service.go +++ b/internal/services/tasks/task_service.go @@ -24,7 +24,7 @@ func (ts *TaskService) GetTaskBySourceID(sourceID string) *models.Task { return &task } -func (ts *TaskService) CreateTask(name, command, preCommand, postCommand, schedule string, timeout int, workDir, cleanConfig, envs, taskType, config string, agentID *string, languages models.TaskLanguages, triggerType string, tags string, retryCount int, retryInterval int, randomRange int, sourceID string, pinType string) *models.Task { +func (ts *TaskService) CreateTask(name, remark, command, preCommand, postCommand, schedule string, timeout int, workDir, cleanConfig, envs, taskType, config string, agentID *string, languages models.TaskLanguages, triggerType string, tags string, retryCount int, retryInterval int, randomRange int, sourceID string, pinType string) *models.Task { if taskType == "" { taskType = "task" } @@ -37,6 +37,7 @@ func (ts *TaskService) CreateTask(name, command, preCommand, postCommand, schedu task := &models.Task{ ID: utils.GenerateID(), Name: name, + Remark: remark, Command: models.BigText(command), PreCommand: models.BigText(preCommand), PostCommand: models.BigText(postCommand), @@ -124,13 +125,14 @@ func (ts *TaskService) GetTaskByID(id string) *models.Task { return &task } -func (ts *TaskService) UpdateTask(id string, name, command, preCommand, postCommand, schedule string, timeout int, workDir, cleanConfig, envs string, enabled bool, taskType, config string, agentID *string, languages models.TaskLanguages, triggerType string, tags string, retryCount int, retryInterval int, randomRange int, sourceID string, pinType string) *models.Task { +func (ts *TaskService) UpdateTask(id string, name, remark, command, preCommand, postCommand, schedule string, timeout int, workDir, cleanConfig, envs string, enabled bool, taskType, config string, agentID *string, languages models.TaskLanguages, triggerType string, tags string, retryCount int, retryInterval int, randomRange int, sourceID string, pinType string) *models.Task { var task models.Task res := database.DB.Where("id = ?", id).Limit(1).Find(&task) if res.Error != nil || res.RowsAffected == 0 { return nil } task.Name = name + task.Remark = remark task.Command = models.BigText(command) task.PreCommand = models.BigText(preCommand) task.PostCommand = models.BigText(postCommand) @@ -159,7 +161,7 @@ func (ts *TaskService) UpdateTask(id string, name, command, preCommand, postComm } database.DB.Model(&task).Select( - "Name", "Command", "Tags", "Schedule", "Timeout", "WorkDir", + "Name", "Remark", "Command", "Tags", "Schedule", "Timeout", "WorkDir", "CleanConfig", "Envs", "Enabled", "AgentID", "Languages", "RetryCount", "RetryInterval", "RandomRange", "Type", "TriggerType", "Config", "SourceID", "PinType",