From 626ba036f23c5fa9517cdd2378af258db88c2306 Mon Sep 17 00:00:00 2001 From: zhanghan Date: Thu, 16 Oct 2025 20:02:57 +0800 Subject: [PATCH] Create job history struct --- .../module/job_history/model/jobhistory.go | 52 ++++++ .../controller/{template.go => workflow.go} | 36 ++--- .../dao/{template.go => workflow.go} | 148 +++++++++--------- .../model/{template.go => workflow.go} | 30 ++-- .../internal/module/job_workflow/router.go | 12 +- .../service/{template.go => workflow.go} | 26 +-- automation/server/internal/service/mysql.go | 10 +- 7 files changed, 183 insertions(+), 131 deletions(-) create mode 100644 automation/server/internal/module/job_history/model/jobhistory.go rename automation/server/internal/module/job_workflow/controller/{template.go => workflow.go} (62%) rename automation/server/internal/module/job_workflow/dao/{template.go => workflow.go} (50%) rename automation/server/internal/module/job_workflow/model/{template.go => workflow.go} (81%) rename automation/server/internal/module/job_workflow/service/{template.go => workflow.go} (41%) diff --git a/automation/server/internal/module/job_history/model/jobhistory.go b/automation/server/internal/module/job_history/model/jobhistory.go new file mode 100644 index 00000000..2dd7938e --- /dev/null +++ b/automation/server/internal/module/job_history/model/jobhistory.go @@ -0,0 +1,52 @@ +package model + +import ( + "encoding/json" +) + +type Job struct { + Id int `json:"id" gorm:"primaryKey;autoIncrement"` + JobName string `json:"job_name"` + JobId string `json:"job_id"` + WorkflowId int `json:"workflow_id"` + ModifyUser string `json:"modify_user"` + ExecType string `json:"exec_type"` // 手动, 定时 + StartTime string `json:"start_time"` + EndTime string `json:"end_time"` + TotalTime string `json:"total_time"` + JobStatus string `json:"job_status"` // 待处理、执行中、执行终止、执行成功、执行异常 +} + +type JobParams struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + JobId int `json:"job_id" gorm:"comment:作业Id"` + Name string `json:"name" gorm:"type:varchar(255);comment:输入参数名称"` + Type string `json:"type" gorm:"comment:参数类型"` + Value json.RawMessage `json:"value" gorm:"comment:参数值"` +} + +type JobOutputParams struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + JobId int `json:"job_id" gorm:"comment:作业Id"` + Name string `json:"name" gorm:"type:varchar(255);comment:输出参数名称"` + Type string `json:"type" gorm:"comment:参数类型"` + Value json.RawMessage `json:"value" gorm:"comment:参数值"` +} + +type JobStep struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + JobId int `json:"job_id" gorm:"comment:作业Id"` + ScriptId string `json:"script_id" gorm:"comment:脚本Id"` + ScriptVersionId int `json:"script_version_id" gorm:"comment:脚本版本Id"` + Name string `json:"name" gorm:"comment:步骤名称"` + StepNum int `json:"step_num" gorm:"comment:作业编排步骤Id"` + Status string `json:"status" gorm:"comment:步骤状态"` // 待处理、执行中、执行终止、执行成功、执行异常 + Result json.RawMessage `json:"result" gorm:"type:json;comment:步骤执行结果"` +} + +type JobDTO struct { + Job Job `json:"job"` + InputParams []JobParams `json:"input_params"` + OutputParams []JobOutputParams `json:"output_params"` + SubTasks []JobStep `json:"sub_tasks"` +} diff --git a/automation/server/internal/module/job_workflow/controller/template.go b/automation/server/internal/module/job_workflow/controller/workflow.go similarity index 62% rename from automation/server/internal/module/job_workflow/controller/template.go rename to automation/server/internal/module/job_workflow/controller/workflow.go index 606b875b..11b76d32 100644 --- a/automation/server/internal/module/job_workflow/controller/template.go +++ b/automation/server/internal/module/job_workflow/controller/workflow.go @@ -7,20 +7,20 @@ import ( "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) -func CreateTemplate(c *gin.Context) { - var template model.TaskTemplateDTO - if err := c.ShouldBindJSON(&template); err != nil { +func CreateWorkflow(c *gin.Context) { + var workflow model.TaskWorkflowDTO + if err := c.ShouldBindJSON(&workflow); err != nil { response.Fail(c, nil, err.Error()) return } - if err := service.CreateTemplate(&template); err != nil { + if err := service.CreateWorkflow(&workflow); err != nil { response.Fail(c, nil, err.Error()) return } response.Success(c, nil, "success") } -func DeleteTemplate(c *gin.Context) { +func DeleteWorkflow(c *gin.Context) { var ids struct { ID []int `json:"id"` } @@ -28,44 +28,44 @@ func DeleteTemplate(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - if err := service.DeleteTemplate(ids.ID); err != nil { + if err := service.DeleteWorkflow(ids.ID); err != nil { response.Fail(c, nil, err.Error()) return } response.Success(c, nil, "success") } -func UpdateTemplate(c *gin.Context) { - var template model.TaskTemplateDTO - if err := c.ShouldBindJSON(&template); err != nil { +func UpdateWorkflow(c *gin.Context) { + var workflow model.TaskWorkflowDTO + if err := c.ShouldBindJSON(&workflow); err != nil { response.Fail(c, nil, err.Error()) return } - if err := service.UpdateTemplate(&template); err != nil { + if err := service.UpdateWorkflow(&workflow); err != nil { response.Fail(c, nil, err.Error()) return } response.Success(c, nil, "success") } -func QueryTemplate(c *gin.Context) { +func QueryWorkflow(c *gin.Context) { query := &response.PagedQuery{} if err := c.ShouldBindQuery(query); err != nil { response.Fail(c, nil, err.Error()) return } - templates, total, err := service.QueryTemplate(query) + workflows, total, err := service.QueryWorkflow(query) if err != nil { response.Fail(c, nil, err.Error()) return } - response.DataPaged(c, templates, total, query) + response.DataPaged(c, workflows, total, query) } -func GetTemplateById(c *gin.Context) { - templateId := c.Query("id") - info, err := service.GetTemplateById(templateId) +func GetWorkflowById(c *gin.Context) { + workflowId := c.Query("id") + info, err := service.GetWorkflowById(workflowId) if err != nil { response.Fail(c, nil, err.Error()) return @@ -73,7 +73,7 @@ func GetTemplateById(c *gin.Context) { response.Success(c, info, "success") } -func PublishTemplate(c *gin.Context) { +func PublishWorkflow(c *gin.Context) { var id struct { ID int `json:"id"` NewStatus string `json:"new_status"` @@ -82,7 +82,7 @@ func PublishTemplate(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - if err := service.PublishTemplate(id.ID, id.NewStatus); err != nil { + if err := service.PublishWorkflow(id.ID, id.NewStatus); err != nil { response.Fail(c, nil, err.Error()) return } diff --git a/automation/server/internal/module/job_workflow/dao/template.go b/automation/server/internal/module/job_workflow/dao/workflow.go similarity index 50% rename from automation/server/internal/module/job_workflow/dao/template.go rename to automation/server/internal/module/job_workflow/dao/workflow.go index 15248ef1..97d2cc11 100644 --- a/automation/server/internal/module/job_workflow/dao/template.go +++ b/automation/server/internal/module/job_workflow/dao/workflow.go @@ -11,26 +11,26 @@ import ( "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) -func CreateTemplate(dto *model.TaskTemplateDTO) error { +func CreateWorkflow(dto *model.TaskWorkflowDTO) error { return global.App.MySQL.Transaction(func(tx *gorm.DB) error { // 1. 插入模板 - template := &model.TaskTemplate{ - Name: dto.Template.Name, - Description: dto.Template.Description, - Tag: dto.Template.Tag, - PublishStatus: dto.Template.PublishStatus, - ModifyUser: dto.Template.ModifyUser, + workflow := &model.TaskWorkflow{ + Name: dto.Workflow.Name, + Description: dto.Workflow.Description, + Tag: dto.Workflow.Tag, + PublishStatus: dto.Workflow.PublishStatus, + ModifyUser: dto.Workflow.ModifyUser, ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } - if err := tx.Create(template).Error; err != nil { + if err := tx.Create(workflow).Error; err != nil { return err } - templateId := template.ID + workflowId := workflow.ID // 2. 插入输入参数 if len(dto.Params) > 0 { for i := range dto.Params { - dto.Params[i].TemplateId = templateId + dto.Params[i].WorkflowId = workflowId } if err := tx.Create(&dto.Params).Error; err != nil { return err @@ -39,7 +39,7 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { // 3. 插入输出参数 if len(dto.OutputParams) > 0 { for i := range dto.OutputParams { - dto.OutputParams[i].TemplateId = templateId + dto.OutputParams[i].WorkflowId = workflowId } if err := tx.Create(&dto.OutputParams).Error; err != nil { return err @@ -54,7 +54,7 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { }) for i := range dto.Steps { - dto.Steps[i].TemplateId = templateId + dto.Steps[i].WorkflowId = workflowId if i > 0 { dto.Steps[i].PreviousStepNum = dto.Steps[i-1].StepNum } @@ -68,14 +68,14 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { } // 4.2 设置模板的首尾步骤 - template.FirstStepNum = dto.Steps[0].StepNum - template.LastStepNum = dto.Steps[len(dto.Steps)-1].StepNum + workflow.FirstStepNum = dto.Steps[0].StepNum + workflow.LastStepNum = dto.Steps[len(dto.Steps)-1].StepNum // 4.3 回写模板首尾步骤 - if err := tx.Model(&model.TaskTemplate{}). - Where("id = ?", templateId). + if err := tx.Model(&model.TaskWorkflow{}). + Where("id = ?", workflowId). Updates(map[string]interface{}{ - "first_step_num": template.FirstStepNum, - "last_step_num": template.LastStepNum, + "first_step_num": workflow.FirstStepNum, + "last_step_num": workflow.LastStepNum, }).Error; err != nil { return err } @@ -83,7 +83,7 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { if len(dto.Scripts) > 0 { for i := range dto.Scripts { - dto.Scripts[i].TemplateId = templateId + dto.Scripts[i].WorkflowId = workflowId } if err := tx.Create(&dto.Scripts).Error; err != nil { return err @@ -94,30 +94,30 @@ func CreateTemplate(dto *model.TaskTemplateDTO) error { }) } -func DeleteTemplate(ids []int) error { +func DeleteWorkflow(ids []int) error { return global.App.MySQL.Transaction(func(tx *gorm.DB) error { // 1. 删除脚本表数据 - if err := tx.Where("template_id IN ?", ids).Unscoped().Delete(&model.TaskTemplateStepScript{}).Error; err != nil { + if err := tx.Where("workflow_id IN ?", ids).Unscoped().Delete(&model.TaskWorkflowStepScript{}).Error; err != nil { return err } // 2. 删除步骤表数据 - if err := tx.Where("template_id IN ?", ids).Unscoped().Delete(&model.TaskTemplateStep{}).Error; err != nil { + if err := tx.Where("workflow_id IN ?", ids).Unscoped().Delete(&model.TaskWorkflowStep{}).Error; err != nil { return err } // 3. 删除输出参数表数据 - if err := tx.Where("template_id IN ?", ids).Unscoped().Delete(&model.TaskTemplateOutputParams{}).Error; err != nil { + if err := tx.Where("workflow_id IN ?", ids).Unscoped().Delete(&model.TaskWorkflowOutputParams{}).Error; err != nil { return err } // 4. 删除输入参数表数据 - if err := tx.Where("template_id IN ?", ids).Unscoped().Delete(&model.TaskTemplateParams{}).Error; err != nil { + if err := tx.Where("workflow_id IN ?", ids).Unscoped().Delete(&model.TaskWorkflowParams{}).Error; err != nil { return err } // 5. 最后删除模板表数据 - if err := tx.Where("id IN ?", ids).Unscoped().Delete(&model.TaskTemplate{}).Error; err != nil { + if err := tx.Where("id IN ?", ids).Unscoped().Delete(&model.TaskWorkflow{}).Error; err != nil { return err } @@ -125,40 +125,40 @@ func DeleteTemplate(ids []int) error { }) } -func UpdateTemplate(dto *model.TaskTemplateDTO) error { +func UpdateWorkflow(dto *model.TaskWorkflowDTO) error { return global.App.MySQL.Transaction(func(tx *gorm.DB) error { - templateId := dto.Template.ID + workflowId := dto.Workflow.ID // 1. 更新模板基本信息 - template := &model.TaskTemplate{ - Name: dto.Template.Name, - Description: dto.Template.Description, - Tag: dto.Template.Tag, - ModifyUser: dto.Template.ModifyUser, + workflow := &model.TaskWorkflow{ + Name: dto.Workflow.Name, + Description: dto.Workflow.Description, + Tag: dto.Workflow.Tag, + ModifyUser: dto.Workflow.ModifyUser, ModifyTime: time.Now().Format("2006-01-02 15:04:05"), } - if err := tx.Model(&model.TaskTemplate{}).Where("id = ?", templateId).Updates(template).Error; err != nil { + if err := tx.Model(&model.TaskWorkflow{}).Where("id = ?", workflowId).Updates(workflow).Error; err != nil { return err } // 2. 删除旧的输入参数,插入新的输入参数 - if err := tx.Where("template_id = ?", templateId).Delete(&model.TaskTemplateParams{}).Error; err != nil { + if err := tx.Where("workflow_id = ?", workflowId).Delete(&model.TaskWorkflowParams{}).Error; err != nil { return err } if len(dto.Params) > 0 { for i := range dto.Params { - dto.Params[i].TemplateId = templateId + dto.Params[i].WorkflowId = workflowId } if err := tx.Create(&dto.Params).Error; err != nil { return err } } // 3. 删除旧的输出参数,插入新的输出参数 - if err := tx.Where("template_id = ?", templateId).Delete(&model.TaskTemplateOutputParams{}).Error; err != nil { + if err := tx.Where("workflow_id = ?", workflowId).Delete(&model.TaskWorkflowOutputParams{}).Error; err != nil { return err } if len(dto.OutputParams) > 0 { for i := range dto.OutputParams { - dto.OutputParams[i].TemplateId = templateId + dto.OutputParams[i].WorkflowId = workflowId } if err := tx.Create(&dto.OutputParams).Error; err != nil { return err @@ -166,7 +166,7 @@ func UpdateTemplate(dto *model.TaskTemplateDTO) error { } // 4. 删除旧的步骤,插入新的步骤 & 脚本 - if err := tx.Where("template_id = ?", templateId).Delete(&model.TaskTemplateStep{}).Error; err != nil { + if err := tx.Where("workflow_id = ?", workflowId).Delete(&model.TaskWorkflowStep{}).Error; err != nil { return err } if len(dto.Steps) > 0 { @@ -176,7 +176,7 @@ func UpdateTemplate(dto *model.TaskTemplateDTO) error { }) for i := range dto.Steps { - dto.Steps[i].TemplateId = templateId + dto.Steps[i].WorkflowId = workflowId if i > 0 { dto.Steps[i].PreviousStepNum = dto.Steps[i-1].StepNum } @@ -189,27 +189,27 @@ func UpdateTemplate(dto *model.TaskTemplateDTO) error { return err } - // 4.2 设置模板的首尾步骤 - template.FirstStepNum = dto.Steps[0].StepNum - template.LastStepNum = dto.Steps[len(dto.Steps)-1].StepNum - // 4.3 回写模板首尾步骤 - if err := tx.Model(&model.TaskTemplate{}). - Where("id = ?", templateId). + // 4.2 设置编排的首尾步骤 + workflow.FirstStepNum = dto.Steps[0].StepNum + workflow.LastStepNum = dto.Steps[len(dto.Steps)-1].StepNum + // 4.3 回写编排首尾步骤 + if err := tx.Model(&model.TaskWorkflow{}). + Where("id = ?", workflowId). Updates(map[string]interface{}{ - "first_step_num": template.FirstStepNum, - "last_step_num": template.LastStepNum, + "first_step_num": workflow.FirstStepNum, + "last_step_num": workflow.LastStepNum, }).Error; err != nil { return err } } // 5. 删除旧的脚本,插入新的脚本 - if err := tx.Where("template_id = ?", templateId).Delete(&model.TaskTemplateStepScript{}).Error; err != nil { + if err := tx.Where("workflow_id = ?", workflowId).Delete(&model.TaskWorkflowStepScript{}).Error; err != nil { return err } if len(dto.Scripts) > 0 { for i := range dto.Scripts { - dto.Scripts[i].TemplateId = templateId + dto.Scripts[i].WorkflowId = workflowId } if err := tx.Create(&dto.Scripts).Error; err != nil { return err @@ -220,57 +220,57 @@ func UpdateTemplate(dto *model.TaskTemplateDTO) error { }) } -func QueryTemplates(query *response.PagedQuery) ([]model.TaskTemplate, int, error) { - var templates []model.TaskTemplate - q := global.App.MySQL.Model(&model.TaskTemplate{}).Limit(query.PageSize).Offset((query.CurrentPage - 1) * query.PageSize) - if err := q.Find(&templates).Error; err != nil { +func QueryWorkflows(query *response.PagedQuery) ([]model.TaskWorkflow, int, error) { + var workflows []model.TaskWorkflow + q := global.App.MySQL.Model(&model.TaskWorkflow{}).Limit(query.PageSize).Offset((query.CurrentPage - 1) * query.PageSize) + if err := q.Find(&workflows).Error; err != nil { return nil, 0, err } var total int64 - if err := global.App.MySQL.Model(&model.TaskTemplate{}).Count(&total).Error; err != nil { + if err := global.App.MySQL.Model(&model.TaskWorkflow{}).Count(&total).Error; err != nil { return nil, 0, err } - return templates, int(total), nil + return workflows, int(total), nil } -func GetTemplateById(id string) (interface{}, error) { - var template model.TaskTemplate - // 1. 查询模板基本信息 - if err := global.App.MySQL.Model(&model.TaskTemplate{}).Where("id = ?", id).First(&template).Error; err != nil { +func GetWorkflowById(id string) (interface{}, error) { + var workflow model.TaskWorkflow + // 1. 查询编排基本信息 + if err := global.App.MySQL.Model(&model.TaskWorkflow{}).Where("id = ?", id).First(&workflow).Error; err != nil { return nil, err } // 2. 查询变量 - var params []model.TaskTemplateParams - if err := global.App.MySQL.Model(&model.TaskTemplateParams{}).Where("template_id = ?", id).Find(¶ms).Error; err != nil { + var params []model.TaskWorkflowParams + if err := global.App.MySQL.Model(&model.TaskWorkflowParams{}).Where("workflow_id = ?", id).Find(¶ms).Error; err != nil { return nil, err } - var output_params []model.TaskTemplateOutputParams - if err := global.App.MySQL.Model(&model.TaskTemplateOutputParams{}).Where("template_id = ?", id).Find(&output_params).Error; err != nil { + var output_params []model.TaskWorkflowOutputParams + if err := global.App.MySQL.Model(&model.TaskWorkflowOutputParams{}).Where("workflow_id = ?", id).Find(&output_params).Error; err != nil { return nil, err } // 3. 查询步骤 - var steps []model.TaskTemplateStep - if err := global.App.MySQL.Model(&model.TaskTemplateStep{}).Where("template_id = ?", id).Find(&steps).Error; err != nil { + var steps []model.TaskWorkflowStep + if err := global.App.MySQL.Model(&model.TaskWorkflowStep{}).Where("workflow_id = ?", id).Find(&steps).Error; err != nil { return nil, err } var data = map[string]interface{}{} - data["id"] = template.ID - data["name"] = template.Name - data["description"] = template.Description - data["tag"] = template.Tag - data["publish_status"] = template.PublishStatus - data["modify_user"] = template.ModifyUser - data["modify_time"] = template.ModifyTime + data["id"] = workflow.ID + data["name"] = workflow.Name + data["description"] = workflow.Description + data["tag"] = workflow.Tag + data["publish_status"] = workflow.PublishStatus + data["modify_user"] = workflow.ModifyUser + data["modify_time"] = workflow.ModifyTime data["params"] = params data["output_params"] = output_params data["steps"] = steps return data, nil } -func PublishTemplate(id int, newStatus string) error { +func PublishWorkflow(id int, newStatus string) error { return global.App.MySQL.Transaction(func(tx *gorm.DB) error { - if err := tx.Model(&model.TaskTemplate{}).Where("id = ?", id).Update("publish_status", script.ParseScriptPublishStatus(newStatus)).Error; err != nil { + if err := tx.Model(&model.TaskWorkflow{}).Where("id = ?", id).Update("publish_status", script.ParseScriptPublishStatus(newStatus)).Error; err != nil { return err } return nil diff --git a/automation/server/internal/module/job_workflow/model/template.go b/automation/server/internal/module/job_workflow/model/workflow.go similarity index 81% rename from automation/server/internal/module/job_workflow/model/template.go rename to automation/server/internal/module/job_workflow/model/workflow.go index b3122c1c..83754f7d 100644 --- a/automation/server/internal/module/job_workflow/model/template.go +++ b/automation/server/internal/module/job_workflow/model/workflow.go @@ -7,7 +7,7 @@ import ( "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/workflow" ) -type TaskTemplate struct { +type TaskWorkflow 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:作业描述"` @@ -19,9 +19,9 @@ type TaskTemplate struct { ModifyTime string `json:"modify_time" gorm:"comment:'最后修改时间'"` } -type TaskTemplateParams struct { +type TaskWorkflowParams struct { ID int `json:"id" gorm:"primaryKey;autoIncrement"` - TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + WorkflowId int `json:"workflow_id" gorm:"comment:作业编排Id"` Name string `json:"name" gorm:"type:varchar(255);comment:输入参数名称"` Type string `json:"type" gorm:"comment:参数类型(string、number、host、json等)"` DefaultVaue json.RawMessage `json:"default_value" gorm:"comment:参数默认值"` @@ -29,17 +29,17 @@ type TaskTemplateParams struct { IsRequired bool `json:"is_required" gorm:"comment:是否必需"` } -type TaskTemplateOutputParams struct { +type TaskWorkflowOutputParams struct { ID int `json:"id" gorm:"primaryKey;autoIncrement"` - TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + WorkflowId int `json:"workflow_id" gorm:"comment:作业编排Id"` Name string `json:"name" gorm:"type:varchar(255);comment:输出参数名称"` Type string `json:"type" gorm:"comment:参数类型string"` Description string `json:"description" gorm:"comment:输出参数描述"` } -type TaskTemplateStep struct { +type TaskWorkflowStep struct { ID int `json:"id" gorm:"primaryKey;autoIncrement"` - TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + WorkflowId int `json:"workflow_id" gorm:"comment:作业编排Id"` StepType workflow.StepType `json:"step_type" gorm:"comment:编排步骤类型"` Name string `json:"name" gorm:"comment:步骤名称"` StepNum int `json:"step_num" gorm:"comment:作业编排步骤Id"` @@ -47,9 +47,9 @@ type TaskTemplateStep struct { NextStepNum int `json:"next_step_num" gorm:"comment:作业编排下一步骤Id"` } -type TaskTemplateStepScript struct { +type TaskWorkflowStepScript struct { ID int `json:"id" gorm:"primaryKey;autoIncrement"` - TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + WorkflowId int `json:"workflow_id" gorm:"comment:作业编排Id"` StepNum int `json:"step_num" gorm:"comment:作业编排步骤Id"` ScriptType script.ScriptType `json:"script_type" gorm:"comment:脚本类型"` ScriptId string `json:"script_id" gorm:"comment:引用脚本Id"` @@ -60,10 +60,10 @@ type TaskTemplateStepScript struct { DestinationHostList json.RawMessage `json:"destination_host_list" gorm:"comment:远程执行主机列表"` } -type TaskTemplateDTO struct { - Template TaskTemplate `json:"template"` - Params []TaskTemplateParams `json:"params"` - OutputParams []TaskTemplateOutputParams `json:"output_params"` - Steps []TaskTemplateStep `json:"steps"` - Scripts []TaskTemplateStepScript `json:"scripts"` +type TaskWorkflowDTO struct { + Workflow TaskWorkflow `json:"workflow"` + Params []TaskWorkflowParams `json:"params"` + OutputParams []TaskWorkflowOutputParams `json:"output_params"` + Steps []TaskWorkflowStep `json:"steps"` + Scripts []TaskWorkflowStepScript `json:"scripts"` } diff --git a/automation/server/internal/module/job_workflow/router.go b/automation/server/internal/module/job_workflow/router.go index 3010406f..bb5701f4 100644 --- a/automation/server/internal/module/job_workflow/router.go +++ b/automation/server/internal/module/job_workflow/router.go @@ -8,11 +8,11 @@ import ( func WorkflowHandler(router *gin.RouterGroup) { api := router.Group("/workflows") { - api.POST("/create", controller.CreateTemplate) - api.DELETE("/delete", controller.DeleteTemplate) - api.POST("/update", controller.UpdateTemplate) - api.GET("/query", controller.QueryTemplate) - api.GET("/get", controller.GetTemplateById) - api.POST("/publish", controller.PublishTemplate) + api.POST("/create", controller.CreateWorkflow) + api.DELETE("/delete", controller.DeleteWorkflow) + api.POST("/update", controller.UpdateWorkflow) + api.GET("/query", controller.QueryWorkflow) + api.GET("/get", controller.GetWorkflowById) + api.POST("/publish", controller.PublishWorkflow) } } diff --git a/automation/server/internal/module/job_workflow/service/template.go b/automation/server/internal/module/job_workflow/service/workflow.go similarity index 41% rename from automation/server/internal/module/job_workflow/service/template.go rename to automation/server/internal/module/job_workflow/service/workflow.go index e250ec5e..870d0e6b 100644 --- a/automation/server/internal/module/job_workflow/service/template.go +++ b/automation/server/internal/module/job_workflow/service/workflow.go @@ -6,43 +6,43 @@ import ( "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) -func CreateTemplate(data *model.TaskTemplateDTO) error { - if err := dao.CreateTemplate(data); err != nil { +func CreateWorkflow(data *model.TaskWorkflowDTO) error { + if err := dao.CreateWorkflow(data); err != nil { return err } return nil } -func DeleteTemplate(id []int) error { - if err := dao.DeleteTemplate(id); err != nil { +func DeleteWorkflow(id []int) error { + if err := dao.DeleteWorkflow(id); err != nil { return err } return nil } -func UpdateTemplate(data *model.TaskTemplateDTO) error { - if err := dao.UpdateTemplate(data); err != nil { +func UpdateWorkflow(data *model.TaskWorkflowDTO) error { + if err := dao.UpdateWorkflow(data); err != nil { return err } return nil } -func QueryTemplate(query *response.PagedQuery) ([]model.TaskTemplate, int, error) { - templates, total, err := dao.QueryTemplates(query) +func QueryWorkflow(query *response.PagedQuery) ([]model.TaskWorkflow, int, error) { + workflows, total, err := dao.QueryWorkflows(query) if err != nil { return nil, 0, err } - return templates, total, nil + return workflows, total, nil } -func GetTemplateById(id string) (interface{}, error) { - info, err := dao.GetTemplateById(id) +func GetWorkflowById(id string) (interface{}, error) { + info, err := dao.GetWorkflowById(id) if err != nil { return nil, err } return info, nil } -func PublishTemplate(id int, newStatus string) error { - return dao.PublishTemplate(id, newStatus) +func PublishWorkflow(id int, newStatus string) error { + return dao.PublishWorkflow(id, newStatus) } diff --git a/automation/server/internal/service/mysql.go b/automation/server/internal/service/mysql.go index 5fa5c979..700a17f9 100644 --- a/automation/server/internal/service/mysql.go +++ b/automation/server/internal/service/mysql.go @@ -46,11 +46,11 @@ func (m *MySQLService) Init(ctx *AppContext) error { db.AutoMigrate(&scriptLibrary.Tag{}) db.AutoMigrate(&scriptLibrary.Script{}) db.AutoMigrate(&scriptLibrary.ScriptVersion{}) - db.AutoMigrate(&jobworkflow.TaskTemplate{}) - db.AutoMigrate(&jobworkflow.TaskTemplateParams{}) - db.AutoMigrate(&jobworkflow.TaskTemplateOutputParams{}) - db.AutoMigrate(&jobworkflow.TaskTemplateStep{}) - db.AutoMigrate(&jobworkflow.TaskTemplateStepScript{}) + db.AutoMigrate(&jobworkflow.TaskWorkflow{}) + db.AutoMigrate(&jobworkflow.TaskWorkflowParams{}) + db.AutoMigrate(&jobworkflow.TaskWorkflowOutputParams{}) + db.AutoMigrate(&jobworkflow.TaskWorkflowStep{}) + db.AutoMigrate(&jobworkflow.TaskWorkflowStepScript{}) ctx.MySQL = db return nil -- Gitee