From 7d73b835c0623c29269f7c5bc443b1feb1dc8700 Mon Sep 17 00:00:00 2001 From: zhanghan Date: Tue, 26 Dec 2023 14:47:28 +0800 Subject: [PATCH] Task task list foreign key association tunes table; Modify the structure for creating task reception --- atune/server/controller/runresult.go | 14 +++++++++++--- atune/server/dao/taskdao.go | 2 +- atune/server/model/common.go | 2 +- atune/server/router/router.go | 8 ++++---- atune/server/service/taskservice.go | 3 ++- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/atune/server/controller/runresult.go b/atune/server/controller/runresult.go index 4d5fd56c..093420f0 100644 --- a/atune/server/controller/runresult.go +++ b/atune/server/controller/runresult.go @@ -10,13 +10,18 @@ import ( ) func RunCommand(c *gin.Context) { - d := &common.CmdStruct{} + d := &struct { + MachineUUIDs []string `json:"machine_uuids"` + Command string `json:"command"` + TuneID int `json:"tune_id"` + TaskName string `json:"task_name"` + }{} if err := c.ShouldBind(d); err != nil { logger.Debug("绑定批次参数失败:%s", err) response.Fail(c, nil, "parameter error") return } - dbtaskid, err := service.SaveTask(d.Command, d.CmdType, d.Batch.MachineUUIDs) + dbtaskid, err := service.SaveTask(d.Command, d.TaskName, d.MachineUUIDs, d.TuneID) if err != nil { response.Fail(c, nil, err.Error()) return @@ -31,7 +36,10 @@ func RunCommand(c *gin.Context) { } } - err = plugin.GlobalClient.RunCommandAsync(d.Batch, d.Command, run_result) + dd := &common.Batch{ + MachineUUIDs: d.MachineUUIDs, + } + err = plugin.GlobalClient.RunCommandAsync(dd, d.Command, run_result) if err != nil { logger.Error("远程调用失败:%v", err.Error()) response.Fail(c, nil, err.Error()) diff --git a/atune/server/dao/taskdao.go b/atune/server/dao/taskdao.go index 1e7a60de..cbd510fe 100644 --- a/atune/server/dao/taskdao.go +++ b/atune/server/dao/taskdao.go @@ -11,7 +11,7 @@ import ( func QueryTaskLists(query *response.PaginationQ) ([]*model.Tasks, int64, error) { var tasks []*model.Tasks - if err := db.MySQL().Preload("RunResults").Order("id desc").Limit(query.PageSize).Offset((query.Page - 1) * query.PageSize).Find(&tasks).Error; err != nil { + if err := db.MySQL().Preload("Tune").Preload("RunResults").Order("id desc").Limit(query.PageSize).Offset((query.Page - 1) * query.PageSize).Find(&tasks).Error; err != nil { return nil, 0, err } diff --git a/atune/server/model/common.go b/atune/server/model/common.go index c80942a0..cbd5362e 100644 --- a/atune/server/model/common.go +++ b/atune/server/model/common.go @@ -31,5 +31,5 @@ type Tasks struct { CreateTime string `json:"create_time"` UpdateTime string `json:"update_time"` RunResults []RunResult `gorm:"foreignKey:TaskID" json:"results"` - Tune Tunes `gorm:"foreignKey:ID;constraint:OnUpdate:CASCADE,OnDelete:RESTRICT;" json:"tune"` + Tune Tunes `gorm:"foreignKey:TuneID;constraint:OnUpdate:CASCADE,OnDelete:RESTRICT;" json:"tune"` } diff --git a/atune/server/router/router.go b/atune/server/router/router.go index f08f7df5..80a7ddc2 100644 --- a/atune/server/router/router.go +++ b/atune/server/router/router.go @@ -49,10 +49,10 @@ func registerAPIs(router *gin.Engine) { dbtune := router.Group("/plugin/" + plugin.GlobalClient.PluginInfo.Name) { dbtune.GET("tunes", controller.QueryTunes) - dbtune.POST("save", controller.SaveTune) - dbtune.POST("update", controller.UpdateTune) - dbtune.DELETE("delete", controller.DeleteTune) - dbtune.GET("search", controller.SearchTune) + dbtune.POST("save_tune", controller.SaveTune) + dbtune.POST("update_tune", controller.UpdateTune) + dbtune.DELETE("delete_tune", controller.DeleteTune) + dbtune.GET("search_tune", controller.SearchTune) } task := router.Group("/plugin/" + plugin.GlobalClient.PluginInfo.Name) diff --git a/atune/server/service/taskservice.go b/atune/server/service/taskservice.go index 10b5cab2..6e667a30 100644 --- a/atune/server/service/taskservice.go +++ b/atune/server/service/taskservice.go @@ -19,10 +19,11 @@ func QueryTaskLists(query *response.PaginationQ) ([]*model.Tasks, int, error) { } } -func SaveTask(cmd string, task_name string, uuids []string) (int, error) { +func SaveTask(cmd string, task_name string, uuids []string, tuneId int) (int, error) { creat_time := time.Now().Format("2006-01-02 15:04:05") task := &model.Tasks{ TaskName: task_name, + TuneID: tuneId, Script: cmd, TaskStatus: global.Executing, CreateTime: creat_time, -- Gitee