diff --git a/atune/server/controller/tune.go b/atune/server/controller/tune.go index 1c80c83c4d3713230686aaeb34eb8608004b6ac9..cfc6bee7da5532c65707aa0ae8d79ec47703d698 100644 --- a/atune/server/controller/tune.go +++ b/atune/server/controller/tune.go @@ -103,3 +103,20 @@ func DeleteTune(c *gin.Context) { } response.Success(c, nil, "已删除调优对象模板") } + +func SearchTune(c *gin.Context) { + tune_name := c.Query("name") + + query := &response.PaginationQ{} + if err := c.ShouldBindQuery(query); err != nil { + response.Fail(c, nil, err.Error()) + return + } + + data, total, err := service.SearchTune(tune_name, query) + if err != nil { + response.Fail(c, nil, err.Error()) + return + } + response.DataPagination(c, data, total, query) +} diff --git a/atune/server/dao/tunedao.go b/atune/server/dao/tunedao.go index 0411caf24cc0467266977cd65669cd2203dabe44..a5f4ec50fb250ba1c07d6c9b35556dd751d8d9a3 100644 --- a/atune/server/dao/tunedao.go +++ b/atune/server/dao/tunedao.go @@ -42,6 +42,18 @@ func DeleteTune(tuneId int) error { return nil } +func SearchTune(tune_name string, query *response.PaginationQ) ([]*model.Tunes, int64, error) { + var tune []*model.Tunes + if err := db.MySQL().Order("id desc").Limit(query.PageSize).Offset((query.Page-1)*query.PageSize).Where("tune_name LIKE ?", "%"+tune_name+"%").Find(&tune).Error; err != nil { + return nil, 0, nil + } + + var total int64 + if err := db.MySQL().Where("tune_name LIKE ?", "%"+tune_name+"%").Model(&tune).Count(&total).Error; err != nil { + return nil, 0, err + } + return tune, total, nil +} func IsExistTuneName(tuneName string) (bool, error) { var t model.Tunes err := db.MySQL().Where("tune_name = ?", tuneName).Find(&t).Error diff --git a/atune/server/router/router.go b/atune/server/router/router.go index 3bd533cd04e8c18b7b71718369d61f2c4bfbb038..01210fd12c6c740986a780739887d8bc45ffb8ed 100644 --- a/atune/server/router/router.go +++ b/atune/server/router/router.go @@ -48,6 +48,7 @@ func registerAPIs(router *gin.Engine) { dbtune.POST("save", controller.SaveTune) dbtune.POST("update", controller.UpdateTune) dbtune.DELETE("delete", controller.DeleteTune) + dbtune.GET("search", controller.SearchTune) } restune := router.Group("/plugin/" + plugin.GlobalClient.PluginInfo.Name) diff --git a/atune/server/service/tuneservice.go b/atune/server/service/tuneservice.go index ec07d3c675e3e8a13be054e9a66884fbb519803e..99e6b815b08a60a6d41cb41ebf450fb888750a4e 100644 --- a/atune/server/service/tuneservice.go +++ b/atune/server/service/tuneservice.go @@ -61,3 +61,11 @@ func UpdateTune(t model.Tunes) error { } return nil } + +func SearchTune(tune_name string, query *response.PaginationQ) ([]*model.Tunes, int, error) { + if data, total, err := dao.SearchTune(tune_name, query); err != nil { + return nil, 0, err + } else { + return data, int(total), nil + } +} diff --git a/atune/web/src/views/Home.vue b/atune/web/src/views/Home.vue index 7c2b5c01ad29e4cf156c68e9151863873cae2f19..f6da6abd6fe346d1b8e61b7da5efbdb9b49c0934 100644 --- a/atune/web/src/views/Home.vue +++ b/atune/web/src/views/Home.vue @@ -142,11 +142,6 @@ onMounted(async () => { border: 2px solid #ddd; display: flex; flex-direction: column; - - .table-button { - display: flex; - justify-content: right; - } } .table {