From bea9c7b733f067900395d54853a5968056011b2f Mon Sep 17 00:00:00 2001 From: zhanghan Date: Fri, 19 Sep 2025 14:45:15 +0800 Subject: [PATCH] Add response function to replace the original formatting --- .../controller/dangerous_rule.go | 2 +- .../controller/enum_dropdown.go | 2 +- .../dangerous_rule/dao/dangerous_rule.go | 2 +- .../dangerous_rule/service/dangerous_rule.go | 2 +- .../module/script_library/controller/exec.go | 7 +- .../script_library/controller/script.go | 2 +- .../controller/script_version.go | 2 +- .../module/script_library/controller/tag.go | 2 +- .../module/script_library/dao/script.go | 2 +- .../module/script_library/model/script.go | 1 + .../script_library/model/script_version.go | 2 +- .../module/script_library/service/script.go | 2 +- automation/server/pkg/response/response.go | 89 +++++++++++++++++++ 13 files changed, 102 insertions(+), 15 deletions(-) create mode 100644 automation/server/pkg/response/response.go diff --git a/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go index 8e82d0fb..b4c01338 100644 --- a/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRuleHandler(c *gin.Context) { diff --git a/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go index 9a268db8..a324f5a5 100644 --- a/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go +++ b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/rule" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/script" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func ScriptTypeListHandler(c *gin.Context) { diff --git a/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go index 861fd83e..c77832c0 100644 --- a/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go @@ -1,9 +1,9 @@ package dao import ( - "gitee.com/openeuler/PilotGo/sdk/response" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRule(rule *model.DangerousRule) error { diff --git a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go index c4a6fd49..72a9f840 100644 --- a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go @@ -4,11 +4,11 @@ import ( "fmt" "time" - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/go-sql-driver/mysql" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/dao" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRule(rule *model.DangerousRule) error { diff --git a/automation/server/internal/module/script_library/controller/exec.go b/automation/server/internal/module/script_library/controller/exec.go index f9e4b95f..61149fa2 100644 --- a/automation/server/internal/module/script_library/controller/exec.go +++ b/automation/server/internal/module/script_library/controller/exec.go @@ -20,7 +20,7 @@ func ExecScriptHandler(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - hosts, err := global.App.Client.MachineList() + _, err := global.App.Client.MachineList() if err != nil { response.Fail(c, nil, err.Error()) return @@ -30,8 +30,5 @@ func ExecScriptHandler(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - response.Success(c, gin.H{ - "hosts": hosts, - "result": result, - }, "success") + response.Success(c, result, "success") } diff --git a/automation/server/internal/module/script_library/controller/script.go b/automation/server/internal/module/script_library/controller/script.go index c184ad7f..e76f53f0 100644 --- a/automation/server/internal/module/script_library/controller/script.go +++ b/automation/server/internal/module/script_library/controller/script.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddScriptHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/controller/script_version.go b/automation/server/internal/module/script_library/controller/script_version.go index fb91c75b..7bbd1a01 100644 --- a/automation/server/internal/module/script_library/controller/script_version.go +++ b/automation/server/internal/module/script_library/controller/script_version.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func GetScriptVersionsHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/controller/tag.go b/automation/server/internal/module/script_library/controller/tag.go index 63b70a34..8c534a74 100644 --- a/automation/server/internal/module/script_library/controller/tag.go +++ b/automation/server/internal/module/script_library/controller/tag.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func GetTagsHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/dao/script.go b/automation/server/internal/module/script_library/dao/script.go index 55a996e9..773a4ead 100644 --- a/automation/server/internal/module/script_library/dao/script.go +++ b/automation/server/internal/module/script_library/dao/script.go @@ -3,10 +3,10 @@ package dao import ( "strings" - "gitee.com/openeuler/PilotGo/sdk/response" "gorm.io/gorm" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddScript(script *model.Script, scriptVersion *model.ScriptVersion) error { diff --git a/automation/server/internal/module/script_library/model/script.go b/automation/server/internal/module/script_library/model/script.go index 491d18ee..2185dc31 100644 --- a/automation/server/internal/module/script_library/model/script.go +++ b/automation/server/internal/module/script_library/model/script.go @@ -5,6 +5,7 @@ import "encoding/json" type Script struct { ID string `json:"id" gorm:"primaryKey;type:varchar(36);not null;comment:脚本ID"` Name string `json:"name" gorm:"type:varchar(255);not null;uniqueIndex:uniq_script_name;comment:脚本名称"` + ScriptName string `json:"script_name" gorm:"type:varchar(255);not null;uniqueIndex:uniq_script_name;comment:脚本文件名称"` ScriptType string `json:"script_type" gorm:"type:varchar(100);not null;comment:脚本类型"` Description string `json:"description" gorm:"type:varchar(500);comment:脚本描述"` Tags string `json:"tags" gorm:"comment:场景标签"` diff --git a/automation/server/internal/module/script_library/model/script_version.go b/automation/server/internal/module/script_library/model/script_version.go index 7a7903f4..e758285c 100644 --- a/automation/server/internal/module/script_library/model/script_version.go +++ b/automation/server/internal/module/script_library/model/script_version.go @@ -19,7 +19,7 @@ type ScriptVersion struct { Content string `json:"content" gorm:"type:text;not null;comment:脚本内容"` Version string `json:"version" gorm:"type:varchar(50);not null;uniqueIndex:uniq_script_version;comment:脚本版本号"` VersionDesc string `json:"version_desc" gorm:"type:varchar(500);uniqueIndex:uniq_script_version;comment:脚本版本描述"` - Status bool `json:"status" gorm:"type:boolean;not null;default:false;comment:脚本版本状态,true表示上线,false表示禁用"` + Status bool `json:"status" gorm:"type:boolean;not null;default:false;comment:脚本版本状态,true表示已发布,false表示开发中"` Creator string `json:"creator" gorm:"type:varchar(100);not null;comment:创建者"` CreatedAt string `json:"created_at" gorm:"comment:创建时间"` LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(100);not null;comment:最后修改者"` diff --git a/automation/server/internal/module/script_library/service/script.go b/automation/server/internal/module/script_library/service/script.go index 6527dbeb..0783eb5b 100644 --- a/automation/server/internal/module/script_library/service/script.go +++ b/automation/server/internal/module/script_library/service/script.go @@ -3,10 +3,10 @@ package service import ( "time" - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/google/uuid" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/dao" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func generateScriptId() string { diff --git a/automation/server/pkg/response/response.go b/automation/server/pkg/response/response.go new file mode 100644 index 00000000..e086a285 --- /dev/null +++ b/automation/server/pkg/response/response.go @@ -0,0 +1,89 @@ +/* + * Copyright (c) KylinSoft Co., Ltd. 2024.All rights reserved. + * PilotGo licensed under the Mulan Permissive Software License, Version 2. + * See LICENSE file for more details. + * Author: zhanghan2021 + * Date: Wed Sep 27 17:35:12 2023 +0800 + */ +package response + +import ( + "fmt" + "net/http" + "reflect" + + "github.com/gin-gonic/gin" +) + +func Success(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusOK, data, msg) +} +func Fail(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusBadRequest, data, msg) +} +func Unavailable(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusServiceUnavailable, data, msg) +} + +// 拼装json 分页数据 +func DataPagination(c *gin.Context, list interface{}, total int, query *PaginationQ) { + c.JSON(http.StatusOK, gin.H{ + "code": http.StatusOK, + "ok": true, + "results": list, + "total": total, + "page": query.Page, + "size": query.PageSize}) +} + +func result(c *gin.Context, httpStatus int, code int, data interface{}, msg string) { + c.JSON(httpStatus, gin.H{ + "code": code, + "results": data, + "msg": msg}) +} + +type PaginationQ struct { + Ok bool `json:"ok"` + PageSize int `form:"size" json:"size"` + Page int `form:"page" json:"page"` + Data interface{} `json:"results" comment:"muster be a pointer of slice gorm.Model"` + TotalSize int `json:"total"` +} + +// 结构体分页查询方法 +func DataPaging(p *PaginationQ, list interface{}, total int) (interface{}, error) { + data := make([]interface{}, 0) + if reflect.TypeOf(list).Kind() == reflect.Slice { + s := reflect.ValueOf(list) + for i := 0; i < s.Len(); i++ { + ele := s.Index(i) + data = append(data, ele.Interface()) + } + } + if p.PageSize < 1 { + p.PageSize = 10 + } + if p.Page < 1 { + p.Page = 1 + } + if total == 0 { + p.TotalSize = 0 + } + num := p.PageSize * (p.Page - 1) + if num > total { + return nil, fmt.Errorf("页码超出") + } + if p.PageSize*p.Page > total { + return data[num:], nil + } else { + if p.PageSize*p.Page < num { + return nil, fmt.Errorf("读取错误") + } + if p.PageSize*p.Page == 0 { + return data, nil + } else { + return data[num : p.Page*p.PageSize], nil + } + } +} -- Gitee