From ab6e48d1ae629d5b3ad269dbc34d6b564ac57f07 Mon Sep 17 00:00:00 2001 From: engigu Date: Tue, 3 Mar 2026 22:08:38 +0800 Subject: [PATCH] fix: insert default time --- internal/services/env_service.go | 26 ++++++----- internal/services/tasks/task_log_service.go | 24 ++++++---- internal/services/tasks/task_service.go | 50 ++++++++++++++------- 3 files changed, 64 insertions(+), 36 deletions(-) diff --git a/internal/services/env_service.go b/internal/services/env_service.go index f510957..411f2a2 100644 --- a/internal/services/env_service.go +++ b/internal/services/env_service.go @@ -16,12 +16,14 @@ func NewEnvService() *EnvService { func (es *EnvService) CreateEnvVar(name, value, remark string, hidden bool, userID string) *models.EnvironmentVariable { env := &models.EnvironmentVariable{ - ID: utils.GenerateID(), - Name: name, - Value: value, - Remark: remark, - Hidden: hidden, - UserID: userID, + ID: utils.GenerateID(), + Name: name, + Value: value, + Remark: remark, + Hidden: hidden, + UserID: userID, + CreatedAt: models.Now(), + UpdatedAt: models.Now(), } database.DB.Create(env) return env @@ -60,11 +62,13 @@ func (es *EnvService) UpdateEnvVar(id string, name, value, remark string, hidden if err := database.DB.Where("id = ?", id).First(&env).Error; err != nil { return nil } - env.Name = name - env.Value = value - env.Remark = remark - env.Hidden = hidden - database.DB.Save(&env) + updates := map[string]interface{}{ + "name": name, + "value": value, + "remark": remark, + "hidden": hidden, + } + database.DB.Model(&env).Updates(updates) return &env } diff --git a/internal/services/tasks/task_log_service.go b/internal/services/tasks/task_log_service.go index 85a543c..c265c60 100644 --- a/internal/services/tasks/task_log_service.go +++ b/internal/services/tasks/task_log_service.go @@ -43,6 +43,7 @@ func (s *TaskLogService) CreateEmptyLog(taskID string, command string) (*models. Command: command, Status: "running", StartTime: &startTime, + CreatedAt: models.Now(), } if err := database.DB.Create(taskLog).Error; err != nil { return nil, err @@ -57,6 +58,9 @@ func (s *TaskLogService) SaveTaskLog(taskLog *models.TaskLog) error { err = database.DB.Model(taskLog).Where("id = ?", taskLog.ID).Updates(taskLog).Error } else { taskLog.ID = utils.GenerateID() + if taskLog.CreatedAt.Time().IsZero() { + taskLog.CreatedAt = models.Now() + } err = database.DB.Create(taskLog).Error } @@ -155,15 +159,16 @@ func (s *TaskLogService) CreateTaskLogFromAgentResult(result *models.AgentTaskRe } taskLog := &models.TaskLog{ - ID: utils.GenerateID(), - TaskID: result.TaskID, - AgentID: &result.AgentID, - Command: result.Command, - Output: compressed, - Error: result.Error, - Status: result.Status, - Duration: result.Duration, - ExitCode: result.ExitCode, + ID: utils.GenerateID(), + TaskID: result.TaskID, + AgentID: &result.AgentID, + Command: result.Command, + Output: compressed, + Error: result.Error, + Status: result.Status, + Duration: result.Duration, + ExitCode: result.ExitCode, + CreatedAt: models.Now(), } // 处理开始和结束时间 @@ -209,6 +214,7 @@ func (s *TaskLogService) CreateTaskLogFromLocalExecution(taskID string, command, ExitCode: exitCode, StartTime: &startTime, EndTime: &endTime, + CreatedAt: models.Now(), } return taskLog, nil diff --git a/internal/services/tasks/task_service.go b/internal/services/tasks/task_service.go index 4dab32b..00b3aef 100644 --- a/internal/services/tasks/task_service.go +++ b/internal/services/tasks/task_service.go @@ -21,24 +21,26 @@ func (ts *TaskService) CreateTask(name, command, schedule string, timeout int, w triggerType = constant.TriggerTypeCron } task := &models.Task{ - ID: utils.GenerateID(), - Name: name, - Command: command, - Tags: tags, - Type: taskType, - TriggerType: triggerType, - Config: config, - Schedule: schedule, - Timeout: timeout, - WorkDir: workDir, - CleanConfig: cleanConfig, - Envs: envs, + ID: utils.GenerateID(), + Name: name, + Command: command, + Tags: tags, + Type: taskType, + TriggerType: triggerType, + Config: config, + Schedule: schedule, + Timeout: timeout, + WorkDir: workDir, + CleanConfig: cleanConfig, + Envs: envs, Languages: languages, AgentID: agentID, Enabled: true, RetryCount: retryCount, RetryInterval: retryInterval, RandomRange: randomRange, + CreatedAt: models.Now(), + UpdatedAt: models.Now(), } if triggerType != constant.TriggerTypeCron { task.NextRun = nil @@ -111,11 +113,27 @@ func (ts *TaskService) UpdateTask(id string, name, command, schedule string, tim if triggerType != "" { task.TriggerType = triggerType } - if task.TriggerType != constant.TriggerTypeCron { - task.NextRun = nil + updates := map[string]interface{}{ + "name": name, + "command": command, + "tags": tags, + "schedule": schedule, + "timeout": timeout, + "work_dir": workDir, + "clean_config": cleanConfig, + "envs": envs, + "enabled": enabled, + "agent_id": agentID, + "languages": languages, + "retry_count": retryCount, + "retry_interval": retryInterval, + "random_range": randomRange, + "type": task.Type, + "trigger_type": task.TriggerType, + "next_run": task.NextRun, + "config": config, } - task.Config = config - database.DB.Save(&task) + database.DB.Model(&task).Updates(updates) return &task }