diff --git a/atune/server/controller/runresult.go b/atune/server/controller/runresult.go index 4d5fd56c141625c93eb22059f8244a0d9c54be99..093420f021e6079a9e0dde87f54ad92e2e9ec72f 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 1e7a60deae0a733b10e7b3526705514ac371a0d3..cbd510feb509b5b3fec661a65176dbab9121fcf2 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 c80942a0a4c92ed5e4ac237f577b358693a38a4b..cbd5362eb73cf0eb583e9d4a5ccdb47cd96a4fd3 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 f08f7df5be02444a85960762e73b25a09a6d729d..80a7ddc2500c40280b315137b6103573e083f530 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 10b5cab2798cc67117bb28a6cc2dff6d05e6dd2f..6e667a305d843257beb5098c8173d8ad9a368f9a 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,