From 4681961b20d5d3eb352b4932e76531089d88b230 Mon Sep 17 00:00:00 2001 From: zhanghan Date: Fri, 26 Sep 2025 17:17:10 +0800 Subject: [PATCH] Adjust some structure storage fields --- .../controller/dangerous_rule.go | 4 +- .../dangerous_rule/dao/dangerous_rule.go | 4 +- .../dangerous_rule/service/dangerous_rule.go | 2 +- .../module/job_workflow/dao/template.go | 24 ++++---- .../module/job_workflow/model/template.go | 34 +++++------ .../script_library/controller/script.go | 4 +- .../module/script_library/dao/script.go | 20 +++---- .../script_library/dao/script_version.go | 17 ++---- .../module/script_library/model/script.go | 60 ++++++++----------- .../script_library/model/script_version.go | 24 +++----- .../module/script_library/model/tag.go | 12 ++-- .../module/script_library/service/script.go | 42 ++++++------- .../script_library/service/script_version.go | 28 ++++----- .../module/script_library/service/tag.go | 20 +++---- automation/server/pkg/response/response.go | 48 +++++++-------- 15 files changed, 148 insertions(+), 195 deletions(-) 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 b4c01338..10ce3f4b 100644 --- a/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go @@ -21,7 +21,7 @@ func AddDangerousRuleHandler(c *gin.Context) { } func GetDangerousRulesHandler(c *gin.Context) { - query := &response.PaginationQ{} + query := &response.PagedQuery{} if err := c.ShouldBindQuery(query); err != nil { response.Fail(c, nil, err.Error()) return @@ -33,7 +33,7 @@ func GetDangerousRulesHandler(c *gin.Context) { return } - response.DataPagination(c, rules, total, query) + response.DataPaged(c, rules, total, query) } 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 c77832c0..b630894d 100644 --- a/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go @@ -10,11 +10,11 @@ func AddDangerousRule(rule *model.DangerousRule) error { return global.App.MySQL.Save(rule).Error } -func GetDangerousRules(query *response.PaginationQ) ([]model.DangerousRule, int, error) { +func GetDangerousRules(query *response.PagedQuery) ([]model.DangerousRule, int, error) { var rules []model.DangerousRule var total int64 - q := global.App.MySQL.Model(&model.DangerousRule{}).Limit(query.PageSize).Offset((query.Page - 1) * query.PageSize) + q := global.App.MySQL.Model(&model.DangerousRule{}).Limit(query.PageSize).Offset((query.CurrentPage - 1) * query.PageSize) qc := global.App.MySQL.Model(&model.DangerousRule{}) if err := q.Order("id desc").Find(&rules).Error; err != nil { 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 72a9f840..9a9dfb5a 100644 --- a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go @@ -32,7 +32,7 @@ func AddDangerousRule(rule *model.DangerousRule) error { return LoadFromDB() } -func GetDangerousRules(query *response.PaginationQ) ([]model.DangerousRule, int, error) { +func GetDangerousRules(query *response.PagedQuery) ([]model.DangerousRule, int, error) { return dao.GetDangerousRules(query) } diff --git a/automation/server/internal/module/job_workflow/dao/template.go b/automation/server/internal/module/job_workflow/dao/template.go index 4b3de774..215aae05 100644 --- a/automation/server/internal/module/job_workflow/dao/template.go +++ b/automation/server/internal/module/job_workflow/dao/template.go @@ -13,13 +13,11 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { return global.App.MySQL.Transaction(func(tx *gorm.DB) error { // 1. 插入模板 template := &model.TaskTemplate{ - Name: dto.Template.Name, - Description: dto.Template.Description, - Tags: dto.Template.Tags, - Creator: dto.Template.Creator, - CreatedAt: time.Now().Format("2006-01-02 15:04:05"), - LastModifyUser: dto.Template.Creator, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + Name: dto.Template.Name, + Description: dto.Template.Description, + Tags: dto.Template.Tags, + ModifyUser: dto.Template.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } if err := tx.Create(template).Error; err != nil { return err @@ -38,18 +36,18 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { // 3. 插入步骤 & 脚本 if len(dto.Steps) > 0 { - // 3.1 按 stepId 排序,补全链路 + // 3.1 按 stepNum 排序,补全链路 sort.Slice(dto.Steps, func(i, j int) bool { - return dto.Steps[i].StepId < dto.Steps[j].StepId + return dto.Steps[i].StepNum < dto.Steps[j].StepNum }) for i := range dto.Steps { dto.Steps[i].TemplateId = templateId if i > 0 { - dto.Steps[i].PreviousStepId = dto.Steps[i-1].StepId + dto.Steps[i].PreviousStepNum = dto.Steps[i-1].StepNum } if i < len(dto.Steps)-1 { - dto.Steps[i].NextStepId = dto.Steps[i+1].StepId + dto.Steps[i].NextStepNum = dto.Steps[i+1].StepNum } } @@ -58,8 +56,8 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { } // 3.2 设置模板的首尾步骤 - template.FirstStepId = dto.Steps[0].StepId - template.LastStepId = dto.Steps[len(dto.Steps)-1].StepId + template.FirstStepId = dto.Steps[0].StepNum + template.LastStepId = dto.Steps[len(dto.Steps)-1].StepNum // 3.4 回写模板首尾步骤 if err := tx.Model(&model.TaskTemplate{}). Where("id = ?", templateId). diff --git a/automation/server/internal/module/job_workflow/model/template.go b/automation/server/internal/module/job_workflow/model/template.go index 1fbb5b44..1b7f7213 100644 --- a/automation/server/internal/module/job_workflow/model/template.go +++ b/automation/server/internal/module/job_workflow/model/template.go @@ -3,16 +3,14 @@ package model import "encoding/json" type TaskTemplate struct { - ID int `json:"id" gorm:"primaryKey;autoIncrement;comment:作业编排Id"` - Name string `json:"name" gorm:"type:varchar(255);comment:作业编排名称"` - Description string `json:"description" gorm:"type:varchar(255);comment:作业描述"` - Tags string `json:"tags" gorm:"comment:场景标签"` - FirstStepId int `json:"first_step_id"` - LastStepId int `json:"last_step_id"` - Creator string `json:"creator" gorm:"comment:创建人"` - CreatedAt string `json:"created_at" gorm:"comment:创建时间"` - LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(100);not null;comment:'最后修改者'"` - LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:'最后修改时间'"` + ID int `json:"id" gorm:"primaryKey;autoIncrement;comment:作业编排Id"` + Name string `json:"name" gorm:"type:varchar(255);comment:作业编排名称"` + Description string `json:"description" gorm:"type:varchar(255);comment:作业描述"` + Tags string `json:"tags" gorm:"comment:场景标签"` + FirstStepId int `json:"first_step_num"` + LastStepId int `json:"last_step_num"` + ModifyUser string `json:"modify_user" gorm:"type:varchar(100);not null;comment:'最后修改者'"` + ModifyTime string `json:"modify_time" gorm:"comment:'最后修改时间'"` } type TaskTemplateVariable struct { @@ -27,19 +25,19 @@ type TaskTemplateVariable struct { } type TaskTemplateStep struct { - ID int `json:"id" gorm:"primaryKey;autoIncrement"` - TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` - StepType string `json:"step_type" gorm:"comment:编排步骤类型(开始、脚本、人工干预、结束等)"` - Name string `json:"name" gorm:"comment:步骤名称"` - StepId int `json:"step_id" gorm:"comment:作业编排步骤Id"` - PreviousStepId int `json:"previous_step_id" gorm:"comment:作业编排上一步骤Id"` - NextStepId int `json:"next_step_id" gorm:"comment:作业编排下一步骤Id"` + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + StepType string `json:"step_type" gorm:"comment:编排步骤类型(开始、脚本、人工干预、结束等)"` + Name string `json:"name" gorm:"comment:步骤名称"` + StepNum int `json:"step_num" gorm:"comment:作业编排步骤Id"` + PreviousStepNum int `json:"previous_step_num" gorm:"comment:作业编排上一步骤Id"` + NextStepNum int `json:"next_step_num" gorm:"comment:作业编排下一步骤Id"` } type TaskTemplateStepScript struct { ID int `json:"id" gorm:"primaryKey;autoIncrement"` TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` - StepId int `json:"step_id" gorm:"comment:作业编排步骤Id"` + StepNum int `json:"step_num" gorm:"comment:作业编排步骤Id"` ScriptType string `json:"script_type" gorm:"comment:脚本类型"` ScriptId string `json:"script_id" gorm:"comment:引用脚本Id"` ScriptVersionId string `json:"script_version_id" gorm:"comment:引用脚本版本Id"` diff --git a/automation/server/internal/module/script_library/controller/script.go b/automation/server/internal/module/script_library/controller/script.go index b8f78e7a..d4129059 100644 --- a/automation/server/internal/module/script_library/controller/script.go +++ b/automation/server/internal/module/script_library/controller/script.go @@ -22,7 +22,7 @@ func AddScriptHandler(c *gin.Context) { } func ScriptListHandler(c *gin.Context) { - query := &response.PaginationQ{} + query := &response.PagedQuery{} if err := c.ShouldBindQuery(query); err != nil { response.Fail(c, nil, err.Error()) return @@ -32,7 +32,7 @@ func ScriptListHandler(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - response.DataPagination(c, scripts, total, query) + response.DataPaged(c, scripts, total, query) } func UpdateScriptHandler(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 48edb7b3..b517f4f4 100644 --- a/automation/server/internal/module/script_library/dao/script.go +++ b/automation/server/internal/module/script_library/dao/script.go @@ -23,10 +23,10 @@ func AddScript(script *model.Script, scriptVersion *model.ScriptVersion) error { }) } -func GetScripts(query *response.PaginationQ) ([]*model.ScriptResponse, int, error) { +func GetScripts(query *response.PagedQuery) ([]*model.ScriptResponse, int, error) { // 查询数据 var scripts []*model.Script - q := global.App.MySQL.Model(&model.Script{}).Limit(query.PageSize).Offset((query.Page - 1) * query.PageSize) + q := global.App.MySQL.Model(&model.Script{}).Limit(query.PageSize).Offset((query.CurrentPage - 1) * query.PageSize) if err := q.Order("created_at desc").Find(&scripts).Error; err != nil { return nil, 0, err } @@ -35,16 +35,12 @@ func GetScripts(query *response.PaginationQ) ([]*model.ScriptResponse, int, erro var scriptResponses []*model.ScriptResponse for _, s := range scripts { sr := &model.ScriptResponse{ - ID: s.ID, - Name: s.Name, - ScriptName: s.ScriptName, - ScriptType: s.ScriptType, - Description: s.Description, - IsPublic: s.IsPublic, - Creator: s.Creator, - CreatedAt: s.CreatedAt, - LastModifyUser: s.LastModifyUser, - LastModifyUpdatedAt: s.LastModifyUpdatedAt, + ID: s.ID, + Name: s.Name, + ScriptType: s.ScriptType, + Description: s.Description, + ModifyUser: s.ModifyUser, + ModifyTime: s.ModifyTime, } tagNames := strings.Split(s.Tags, ",") diff --git a/automation/server/internal/module/script_library/dao/script_version.go b/automation/server/internal/module/script_library/dao/script_version.go index 7fa244a5..2d8a9bd4 100644 --- a/automation/server/internal/module/script_library/dao/script_version.go +++ b/automation/server/internal/module/script_library/dao/script_version.go @@ -14,10 +14,9 @@ func GetScriptVersions(scriptId string) (*model.ScriptVersionResponse, error) { SELECT s.id AS script_id, s.name AS name, - s.script_name AS script_name, + s.usage_type AS usage_type, s.script_type AS script_type, s.description AS description, - s.is_public AS is_public, CAST(( SELECT COALESCE(JSON_ARRAYAGG( JSON_OBJECT( @@ -28,10 +27,8 @@ SELECT 'version', sv.version, 'version_desc', sv.version_desc, 'status', sv.status = 1, - 'creator', sv.creator, - 'created_at', sv.created_at, - 'last_modify_user', sv.last_modify_user, - 'last_modify_updated_at', sv.last_modify_updated_at + 'modify_user', sv.modify_user, + 'modify_time', sv.modify_time ) ), JSON_ARRAY()) FROM script_version sv @@ -43,10 +40,8 @@ SELECT 'id', t.id, 'name', t.name, 'description', t.description, - 'creator', t.creator, - 'created_at', t.created_at, - 'last_modify_user', t.last_modify_user, - 'last_modify_updated_at', t.last_modify_updated_at + 'modify_user', t.modify_user, + 'modify_time', t.modify_time ) ), JSON_ARRAY()) FROM tag t @@ -77,10 +72,8 @@ WHERE s.id = ? resp := &model.ScriptVersionResponse{ ID: row.ScriptID, Name: row.Name, - ScriptName: row.ScriptName, ScriptType: row.ScriptType, Description: row.Description, - IsPublic: row.IsPublic, Tags: tags, ScriptVersions: scriptVersions, } diff --git a/automation/server/internal/module/script_library/model/script.go b/automation/server/internal/module/script_library/model/script.go index 0e791d2e..3a14f137 100644 --- a/automation/server/internal/module/script_library/model/script.go +++ b/automation/server/internal/module/script_library/model/script.go @@ -3,46 +3,38 @@ package model 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:场景标签"` - IsPublic bool `json:"is_public" gorm:"type:boolean;not null;comment:是否公开"` - 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:最后修改者"` - LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:最后修改时间"` + 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:脚本名称"` + 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:场景标签"` + UsageType string `json:"usage_type" gorm:"type:varchar(50);comment:脚本业务类型"` + ModifyUser string `json:"modify_user" gorm:"type:varchar(100);not null;comment:最后修改者"` + ModifyTime string `json:"modify_time" gorm:"comment:最后修改时间"` } type ScriptWithVersion struct { - Name string `json:"name"` - ScriptName string `json:"script_name"` - ScriptType string `json:"script_type"` - Description string `json:"description"` - Tags string `json:"tags"` - Content string `json:"content"` - Params json.RawMessage `json:"params" gorm:"type:json"` // 存 ScriptParam 数组 - Version string `json:"version"` - VersionDesc string `json:"version_desc"` - IsPublic bool `json:"is_public"` - LastModifyUser string `json:"last_modify_user"` - Creator string `json:"creator"` + Name string `json:"name"` + ScriptType string `json:"script_type"` + Description string `json:"description"` + Tags string `json:"tags"` + UsageType string `json:"usage_type"` + Content string `json:"content"` + Params json.RawMessage `json:"params" gorm:"type:json"` // 存 ScriptParam 数组 + Version string `json:"version"` + VersionDesc string `json:"version_desc"` + ModifyUser string `json:"modify_user"` } type ScriptResponse struct { - ID string `json:"id"` - Name string `json:"name"` - ScriptName string `json:"script_name"` - ScriptType string `json:"script_type"` - Description string `json:"description"` - Tags []Tag `json:"tags"` - IsPublic bool `json:"is_public"` - Creator string `json:"creator"` - CreatedAt string `json:"created_at"` - LastModifyUser string `json:"last_modify_user"` - LastModifyUpdatedAt string `json:"last_modify_updated_at"` + ID string `json:"id"` + Name string `json:"name"` + ScriptType string `json:"script_type"` + UsageType string `json:"usage_type"` + Description string `json:"description"` + Tags []Tag `json:"tags"` + ModifyUser string `json:"modify_user"` + ModifyTime string `json:"modify_time"` } type AddScriptDTO struct { 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 ae6f0f9c..c27997ee 100644 --- a/automation/server/internal/module/script_library/model/script_version.go +++ b/automation/server/internal/module/script_library/model/script_version.go @@ -13,27 +13,23 @@ type ScriptParam struct { //脚本执行参数 } type ScriptVersion struct { - ID int `json:"id" gorm:"primaryKey;type:int;not null;comment:脚本版本ID"` - ScriptID string `json:"script_id" gorm:"type:varchar(36);not null;uniqueIndex:uniq_script_version;comment:脚本ID"` - Params json.RawMessage `json:"params" gorm:"type:json;comment:脚本执行参数"` // 存 ScriptParam 数组 - 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表示开发中"` - 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:最后修改者"` - LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:最后修改时间"` + ID int `json:"id" gorm:"primaryKey;type:int;not null;comment:脚本版本ID"` + ScriptID string `json:"script_id" gorm:"type:varchar(36);not null;uniqueIndex:uniq_script_version;comment:脚本ID"` + Params json.RawMessage `json:"params" gorm:"type:json;comment:脚本执行参数"` // 存 ScriptParam 数组 + 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表示开发中"` + ModifyUser string `json:"modify_user" gorm:"type:varchar(100);not null;comment:最后修改者"` + ModifyTime string `json:"modify_time" gorm:"comment:最后修改时间"` } type ScriptVersionResponse struct { ID string `json:"id"` Name string `json:"name"` - ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` Tags []Tag `json:"tags"` - IsPublic bool `json:"is_public"` ScriptVersions []ScriptVersion `json:"script_versions"` } @@ -41,10 +37,8 @@ type RawScriptVersion struct { // Script 字段 ScriptID string `json:"script_id"` Name string `json:"name"` - ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` - IsPublic bool `json:"is_public"` // JSON Script versions Versions string `json:"versions"` diff --git a/automation/server/internal/module/script_library/model/tag.go b/automation/server/internal/module/script_library/model/tag.go index 5dba1c09..6d8e4e87 100644 --- a/automation/server/internal/module/script_library/model/tag.go +++ b/automation/server/internal/module/script_library/model/tag.go @@ -1,11 +1,9 @@ package model type Tag struct { - ID int `json:"id" gorm:"primaryKey;autoIncrement;comment:标签ID"` - Name string `json:"name" gorm:"type:varchar(50);not null;unique;comment:标签名称"` - Description string `json:"description" gorm:"type:varchar(255);comment:标签描述"` - Creator string `json:"creator" gorm:"type:varchar(50);comment:创建者"` - CreatedAt string `json:"created_at" gorm:"comment:创建时间"` - LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(50);comment:最后修改人"` - LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:最后修改时间"` + ID int `json:"id" gorm:"primaryKey;autoIncrement;comment:标签ID"` + Name string `json:"name" gorm:"type:varchar(50);not null;unique;comment:标签名称"` + Description string `json:"description" gorm:"type:varchar(255);comment:标签描述"` + ModifyUser string `json:"modify_user" gorm:"type:varchar(50);comment:最后修改人"` + ModifyTime string `json:"modify_time" gorm:"comment:最后修改时间"` } diff --git a/automation/server/internal/module/script_library/service/script.go b/automation/server/internal/module/script_library/service/script.go index a3773e7d..9ff3b99a 100644 --- a/automation/server/internal/module/script_library/service/script.go +++ b/automation/server/internal/module/script_library/service/script.go @@ -22,45 +22,39 @@ func AddScript(s *model.AddScriptDTO) error { // } script := &model.Script{ - ID: scriptId, - Name: s.Script.Name, - ScriptName: s.Script.ScriptName, - ScriptType: s.Script.ScriptType, - Description: s.Script.Description, - Tags: s.Script.Tags, - IsPublic: s.Script.IsPublic, - Creator: s.Script.Creator, - CreatedAt: time.Now().Format("2006-01-02 15:04:05"), - LastModifyUser: s.Script.Creator, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + ID: scriptId, + Name: s.Script.Name, + ScriptType: s.Script.ScriptType, + Description: s.Script.Description, + Tags: s.Script.Tags, + ModifyUser: s.Script.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } scriptVersion := &model.ScriptVersion{ ScriptID: scriptId, // Content: decodedContent, - Content: s.FirstVersion.Content, - Params: s.FirstVersion.Params, - Version: s.FirstVersion.Version, - VersionDesc: s.FirstVersion.VersionDesc, - Creator: s.Script.Creator, - CreatedAt: time.Now().Format("2006-01-02 15:04:05"), - LastModifyUser: s.Script.Creator, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + Content: s.FirstVersion.Content, + Params: s.FirstVersion.Params, + Version: s.FirstVersion.Version, + VersionDesc: s.FirstVersion.VersionDesc, + ModifyUser: s.Script.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } return dao.AddScript(script, scriptVersion) } -func GetScripts(query *response.PaginationQ) ([]*model.ScriptResponse, int, error) { +func GetScripts(query *response.PagedQuery) ([]*model.ScriptResponse, int, error) { return dao.GetScripts(query) } func UpdateScript(s *model.Script) error { script := &model.Script{ - Description: s.Description, - Tags: s.Tags, - LastModifyUser: s.LastModifyUser, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + Description: s.Description, + Tags: s.Tags, + ModifyUser: s.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } return dao.UpdateScript(s.ID, script) } diff --git a/automation/server/internal/module/script_library/service/script_version.go b/automation/server/internal/module/script_library/service/script_version.go index 17658b7b..6b96b959 100644 --- a/automation/server/internal/module/script_library/service/script_version.go +++ b/automation/server/internal/module/script_library/service/script_version.go @@ -13,27 +13,25 @@ func GetScriptVersions(scriptId string) (*model.ScriptVersionResponse, error) { func AddScriptVersion(scriptId string, sv *model.ScriptVersion) error { scriptVersion := &model.ScriptVersion{ - ScriptID: scriptId, - Content: sv.Content, - Params: sv.Params, - Version: sv.Version, - VersionDesc: sv.VersionDesc, - Creator: sv.Creator, - CreatedAt: time.Now().Format("2006-01-02 15:04:05"), - LastModifyUser: sv.Creator, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + ScriptID: scriptId, + Content: sv.Content, + Params: sv.Params, + Version: sv.Version, + VersionDesc: sv.VersionDesc, + ModifyUser: sv.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } return dao.AddScriptVersion(scriptVersion) } func UpdateScriptVersion(scriptId string, sv *model.ScriptVersion) error { scriptVersion := &model.ScriptVersion{ - Content: sv.Content, - Params: sv.Params, - Version: sv.Version, - VersionDesc: sv.VersionDesc, - LastModifyUser: sv.LastModifyUser, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + Content: sv.Content, + Params: sv.Params, + Version: sv.Version, + VersionDesc: sv.VersionDesc, + ModifyUser: sv.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } return dao.UpdateScriptVersion(sv.ID, scriptId, scriptVersion) } diff --git a/automation/server/internal/module/script_library/service/tag.go b/automation/server/internal/module/script_library/service/tag.go index 013032c0..23130861 100644 --- a/automation/server/internal/module/script_library/service/tag.go +++ b/automation/server/internal/module/script_library/service/tag.go @@ -13,22 +13,20 @@ func GetTags() ([]model.Tag, error) { func CreateTag(tag *model.Tag) error { return dao.CreateTag(&model.Tag{ - Name: tag.Name, - Description: tag.Description, - Creator: tag.Creator, - CreatedAt: time.Now().Format("2006-01-02 15:04:05"), - LastModifyUser: tag.LastModifyUser, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + Name: tag.Name, + Description: tag.Description, + ModifyUser: tag.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), }) } func UpdateTag(tag *model.Tag) error { return dao.UpdateTag(&model.Tag{ - ID: tag.ID, - Name: tag.Name, - Description: tag.Description, - LastModifyUser: tag.LastModifyUser, - LastModifyUpdatedAt: time.Now().Format("2006-01-02 15:04:05"), + ID: tag.ID, + Name: tag.Name, + Description: tag.Description, + ModifyUser: tag.ModifyUser, + ModifyTime: time.Now().Format("2006-01-02 15:04:05"), }) } diff --git a/automation/server/pkg/response/response.go b/automation/server/pkg/response/response.go index e086a285..e47c126f 100644 --- a/automation/server/pkg/response/response.go +++ b/automation/server/pkg/response/response.go @@ -21,38 +21,32 @@ func Success(c *gin.Context, data interface{}, msg string) { 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) { +func DataPaged(c *gin.Context, list interface{}, total int, query *PagedQuery) { c.JSON(http.StatusOK, gin.H{ - "code": http.StatusOK, - "ok": true, - "results": list, - "total": total, - "page": query.Page, - "size": query.PageSize}) + "code": http.StatusOK, + "data": list, + "total": total, + "current_page": query.CurrentPage, + "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}) + "data": data, + "message": 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"` +type PagedQuery struct { + PageSize int `form:"page_size" json:"page_size"` + CurrentPage int `form:"current_page" json:"current_page"` + Total int `json:"total"` } // 结构体分页查询方法 -func DataPaging(p *PaginationQ, list interface{}, total int) (interface{}, error) { +func StructDataPaged(p *PagedQuery, list interface{}, total int) (interface{}, error) { data := make([]interface{}, 0) if reflect.TypeOf(list).Kind() == reflect.Slice { s := reflect.ValueOf(list) @@ -64,26 +58,26 @@ func DataPaging(p *PaginationQ, list interface{}, total int) (interface{}, error if p.PageSize < 1 { p.PageSize = 10 } - if p.Page < 1 { - p.Page = 1 + if p.CurrentPage < 1 { + p.CurrentPage = 1 } if total == 0 { - p.TotalSize = 0 + p.Total = 0 } - num := p.PageSize * (p.Page - 1) + num := p.PageSize * (p.CurrentPage - 1) if num > total { return nil, fmt.Errorf("页码超出") } - if p.PageSize*p.Page > total { + if p.PageSize*p.CurrentPage > total { return data[num:], nil } else { - if p.PageSize*p.Page < num { + if p.PageSize*p.CurrentPage < num { return nil, fmt.Errorf("读取错误") } - if p.PageSize*p.Page == 0 { + if p.PageSize*p.CurrentPage == 0 { return data, nil } else { - return data[num : p.Page*p.PageSize], nil + return data[num : p.CurrentPage*p.PageSize], nil } } } -- Gitee