feat: refact id column define

This commit is contained in:
engigu
2026-03-03 17:25:38 +08:00
parent 117ae126f7
commit 4589c64923
62 changed files with 881 additions and 454 deletions
+10 -8
View File
@@ -4,6 +4,7 @@ import (
"github.com/engigu/baihu-panel/internal/constant"
"github.com/engigu/baihu-panel/internal/database"
"github.com/engigu/baihu-panel/internal/models"
"github.com/engigu/baihu-panel/internal/utils"
)
type TaskService struct{}
@@ -12,7 +13,7 @@ func NewTaskService() *TaskService {
return &TaskService{}
}
func (ts *TaskService) CreateTask(name, command, schedule string, timeout int, workDir, cleanConfig, envs, taskType, config string, agentID *uint, languages []map[string]string, triggerType string, tags string, retryCount int, retryInterval int, randomRange int) *models.Task {
func (ts *TaskService) CreateTask(name, command, schedule string, timeout int, workDir, cleanConfig, envs, taskType, config string, agentID *string, languages []map[string]string, triggerType string, tags string, retryCount int, retryInterval int, randomRange int) *models.Task {
if taskType == "" {
taskType = "task"
}
@@ -20,6 +21,7 @@ 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,
@@ -52,7 +54,7 @@ func (ts *TaskService) GetTasks() []models.Task {
}
// GetTasksWithPagination 分页获取任务列表
func (ts *TaskService) GetTasksWithPagination(page, pageSize int, name string, agentID *uint, tags string, taskType string) ([]models.Task, int64) {
func (ts *TaskService) GetTasksWithPagination(page, pageSize int, name string, agentID *string, tags string, taskType string) ([]models.Task, int64) {
var tasks []models.Task
var total int64
@@ -76,17 +78,17 @@ func (ts *TaskService) GetTasksWithPagination(page, pageSize int, name string, a
return tasks, total
}
func (ts *TaskService) GetTaskByID(id int) *models.Task {
func (ts *TaskService) GetTaskByID(id string) *models.Task {
var task models.Task
if err := database.DB.First(&task, id).Error; err != nil {
if err := database.DB.Where("id = ?", id).First(&task).Error; err != nil {
return nil
}
return &task
}
func (ts *TaskService) UpdateTask(id int, name, command, schedule string, timeout int, workDir, cleanConfig, envs string, enabled bool, taskType, config string, agentID *uint, languages []map[string]string, triggerType string, tags string, retryCount int, retryInterval int, randomRange int) *models.Task {
func (ts *TaskService) UpdateTask(id string, name, command, schedule string, timeout int, workDir, cleanConfig, envs string, enabled bool, taskType, config string, agentID *string, languages []map[string]string, triggerType string, tags string, retryCount int, retryInterval int, randomRange int) *models.Task {
var task models.Task
if err := database.DB.First(&task, id).Error; err != nil {
if err := database.DB.Where("id = ?", id).First(&task).Error; err != nil {
return nil
}
task.Name = name
@@ -117,7 +119,7 @@ func (ts *TaskService) UpdateTask(id int, name, command, schedule string, timeou
return &task
}
func (ts *TaskService) DeleteTask(id int) bool {
result := database.DB.Delete(&models.Task{}, id)
func (ts *TaskService) DeleteTask(id string) bool {
result := database.DB.Where("id = ?", id).Delete(&models.Task{})
return result.RowsAffected > 0
}