diff --git a/src/controller/host_manage.go b/src/controller/host_manage.go index 070363b0d59d2285cc6830f93753ebeb4f210f27..4ae2ceb1b596c9cc1c9ffd0687bf6a75fe395787 100644 --- a/src/controller/host_manage.go +++ b/src/controller/host_manage.go @@ -8,6 +8,7 @@ import ( "github.com/spf13/cast" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/request" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" + "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/service" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/util" ) @@ -133,7 +134,7 @@ func AddHostManage(c *gin.Context) { // } //} - hostManageSvc := service.HostManageSvc{} + hostManageSvc := service.HostManageSvc{User: header.GetUser(c)} err = hostManageSvc.AddHostManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -169,7 +170,7 @@ func EditHostManage(c *gin.Context) { // } //} - hostManageSvc := service.HostManageSvc{} + hostManageSvc := service.HostManageSvc{User: header.GetUser(c)} err = hostManageSvc.EditHostManage(req) if err != nil { SendJsonResponse(c, err, nil) diff --git a/src/controller/task_manage.go b/src/controller/task_manage.go index a26eed585d530c3a30650cd51cef5f3c5ea4bcfc..3e6b3d1d6a297287f63de6ad2d9fc15f11d079bd 100644 --- a/src/controller/task_manage.go +++ b/src/controller/task_manage.go @@ -12,6 +12,7 @@ import ( "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/client" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" + "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/service" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/util" "io" @@ -31,7 +32,7 @@ func AddTaskManage(c *gin.Context) { return } - taskManageSvc := service.TaskManageSvc{} + taskManageSvc := service.TaskManageSvc{User: header.GetUser(c)} id, err := taskManageSvc.AddTaskManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -53,7 +54,7 @@ func EditTaskManage(c *gin.Context) { return } - taskManageSvc := service.TaskManageSvc{} + taskManageSvc := service.TaskManageSvc{User: header.GetUser(c)} id, err := taskManageSvc.EditTaskManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -135,7 +136,7 @@ func ExecScript(c *gin.Context) { return } - taskManageSvc := service.TaskManageSvc{} + taskManageSvc := service.TaskManageSvc{User: header.GetUser(c)} taskManage, err := taskManageSvc.GetTaskManage(req.TaskId) if err != nil { SendJsonResponse(c, err, nil) diff --git a/src/controller/work_order_manage.go b/src/controller/work_order_manage.go index 9139253be708cf705690bbfbf1077083ecdbb3d1..59916966a114eb2449a3af24eeffac6d5c92df64 100644 --- a/src/controller/work_order_manage.go +++ b/src/controller/work_order_manage.go @@ -6,6 +6,7 @@ import ( "github.com/spf13/cast" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/request" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" + "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/service" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/util" ) @@ -18,7 +19,7 @@ func AddWorkOrderManage(c *gin.Context) { return } - workOrderManageSvc := service.WorkOrderManageSvc{} + workOrderManageSvc := service.WorkOrderManageSvc{User: header.GetUser(c)} err := workOrderManageSvc.AddWorkOrderManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -40,7 +41,7 @@ func EditWorkOrderManage(c *gin.Context) { return } - workOrderManageSvc := service.WorkOrderManageSvc{} + workOrderManageSvc := service.WorkOrderManageSvc{User: header.GetUser(c)} err := workOrderManageSvc.EditWorkOrderManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -142,7 +143,7 @@ func PushWorkOrderManage(c *gin.Context) { return } - workOrderManageSvc := service.WorkOrderManageSvc{} + workOrderManageSvc := service.WorkOrderManageSvc{User: header.GetUser(c)} err := workOrderManageSvc.PushWorkOrderManage(req) if err != nil { SendJsonResponse(c, err, nil) @@ -234,7 +235,7 @@ func ListWorkOrderMe(c *gin.Context) { return } - workOrderManageSvc := service.WorkOrderManageSvc{} + workOrderManageSvc := service.WorkOrderManageSvc{User: header.GetUser(c)} total, list, err := workOrderManageSvc.ListWorkOrderMe(req) if err != nil { SendJsonPageResponse(c, err, nil, 0) diff --git a/src/router/automatedmaintenrouter.go b/src/router/automatedmaintenrouter.go index 32d3c217daa0b0783e0ad2b2dde1a0a4e18d8797..1abe0cc8cdcbafbd1a423088c0e167043612dccd 100644 --- a/src/router/automatedmaintenrouter.go +++ b/src/router/automatedmaintenrouter.go @@ -5,13 +5,14 @@ import ( "github.com/gin-gonic/gin" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/controller" + "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" ) // InitAutomatedMaintenRouter 初始化自动化运维路由 func InitAutomatedMaintenRouter(e *gin.Engine) { so := e.Group(fmt.Sprintf("%s/automated_mainten", conf.Options.Prefix)) //任务管理 - task := so.Group("/task_manage") + task := so.Group("/task_manage", header.SetContext) { task.POST("/add", controller.AddTaskManage) // 新增 task.PUT("/edit", controller.EditTaskManage) // 编辑 @@ -22,7 +23,7 @@ func InitAutomatedMaintenRouter(e *gin.Engine) { } //任务历史 - taskHistory := so.Group("/task_history") + taskHistory := so.Group("/task_history", header.SetContext) { taskHistory.GET("/list", controller.TaskHistoryList) // 任务历史列表 taskHistory.GET("/task_info_list", controller.TaskInfoList) // 任务历史详情列表 @@ -30,7 +31,7 @@ func InitAutomatedMaintenRouter(e *gin.Engine) { } //主机管理 - host := so.Group("/host_manage") + host := so.Group("/host_manage", header.SetContext) { host.POST("/add", controller.AddHostManage) // 新增 host.PUT("/edit", controller.EditHostManage) // 编辑 diff --git a/src/router/workorderrouter.go b/src/router/workorderrouter.go index db448f59ea1f94117fa48b73abe293af8b2a001d..de53297b440bee83347188a65698042d733b387e 100644 --- a/src/router/workorderrouter.go +++ b/src/router/workorderrouter.go @@ -5,20 +5,21 @@ import ( "github.com/gin-gonic/gin" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/controller" + "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" ) // InitWorkOrderRouter 初始化工单路由 func InitWorkOrderRouter(e *gin.Engine) { so := e.Group(fmt.Sprintf("%s/work_order", conf.Options.Prefix)) //预警工单管理 - alert := so.Group("/alert") + alert := so.Group("/alert", header.SetContext) { alert.GET("", controller.DetailAlertList) // 详情 alert.GET("/list", controller.ListAlertList) // 列表 } //业务工单管理 - manage := so.Group("/work_order_manage") + manage := so.Group("/work_order_manage", header.SetContext) { manage.POST("/add", controller.AddWorkOrderManage) // 新增 manage.PUT("/edit", controller.EditWorkOrderManage) // 编辑 @@ -30,7 +31,7 @@ func InitWorkOrderRouter(e *gin.Engine) { } //业务工单列表 - list := so.Group("/work_order_issuance") + list := so.Group("/work_order_issuance", header.SetContext) { list.PUT("/close", controller.CloseWorkOrderIssuance) // 关闭工单 list.GET("/list", controller.ListWorkOrderIssuance) // 业务工单下发列表 @@ -38,7 +39,7 @@ func InitWorkOrderRouter(e *gin.Engine) { } //我的业务工单 - me := so.Group("/work_order_me") + me := so.Group("/work_order_me", header.SetContext) { me.PUT("/feedback", controller.FeedbackWorkOrderMe) // 处置反馈 me.GET("/list", controller.ListWorkOrderMe) // 我的业务工单列表 diff --git a/src/service/host_manage.go b/src/service/host_manage.go index b64b69d610f4f79e38a0ee437cbf2b9ee0b88c64..f8b3d0337fe73a212705280cb8ed84cee6551ea2 100644 --- a/src/service/host_manage.go +++ b/src/service/host_manage.go @@ -18,7 +18,7 @@ import ( ) type HostManageSvc struct { - User *entity.SystemUser + User entity.SystemUserInfo } const AnsibleGroup string = "HostGroup" @@ -53,9 +53,9 @@ func (h *HostManageSvc) AddHostManage(req request.AddHostManageReq) (err error) //新增主机分组 hostManage := entity.HostManage{ HostName: req.HostName, - CreateUser: "", + CreateUser: h.User.SystemAccount, CreateTime: time.Now(), - UpdateUser: "", + UpdateUser: h.User.SystemAccount, UpdateTime: time.Now(), } _, err = session.Table("host_manage").Insert(&hostManage) @@ -156,7 +156,7 @@ func (h *HostManageSvc) EditHostManage(req request.EditHostManageReq) (err error //修改主机分组信息 hostManage := entity.HostManage{ - UpdateUser: "", + UpdateUser: h.User.SystemAccount, UpdateTime: time.Now(), } _, err = session.Table("host_manage").Where("is_delete = 0 AND id = ?", req.Id). diff --git a/src/service/task_manage.go b/src/service/task_manage.go index 25749e3a0b2f13f9763df3e686c908c88b5abbb5..2621a6456410f5f130d24c1854867a253aa6ed52 100644 --- a/src/service/task_manage.go +++ b/src/service/task_manage.go @@ -17,7 +17,7 @@ import ( ) type TaskManageSvc struct { - User *entity.SystemUser + User entity.SystemUserInfo } // AddTaskManage 新增任务 @@ -45,9 +45,9 @@ func (t *TaskManageSvc) AddTaskManage(req request.AddTaskManageReq) (id int, err YamlDesc: req.YamlDesc, YamlUrl: req.YamlUrl, HostGroupId: req.HostGroupId, - CreateUser: "", + CreateUser: t.User.SystemAccount, CreateTime: time.Now(), - UpdateUser: "", + UpdateUser: t.User.SystemAccount, UpdateTime: time.Now(), } _, err = db.Table("task_manage").Insert(&taskManage) @@ -71,7 +71,7 @@ func (t *TaskManageSvc) EditTaskManage(req request.EditTaskManageReq) (id int, e YamlDesc: req.YamlDesc, YamlUrl: req.YamlUrl, HostGroupId: req.HostGroupId, - UpdateUser: "", + UpdateUser: t.User.SystemAccount, UpdateTime: time.Now(), } //编辑任务 @@ -244,6 +244,7 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq, script string) (id err = resp.FileExecError.WithError(err) return } + defer hostsGroup.Close() //_, err = hostsGroup.Write([]byte(hostsIp)) _, err = hostsGroup.Write([]byte(strings.Join(hosts, "\n"))) @@ -258,6 +259,7 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq, script string) (id err = resp.FileExecError.WithError(err) return } + defer f2.Close() _, err = f2.Write([]byte(script)) if err != nil { @@ -268,7 +270,7 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq, script string) (id //新增任务历史 id, err = AddExecHistory(request.AddExecHistory{ TaskId: req.TaskId, - CreateUser: "", + CreateUser: t.User.SystemAccount, }) if err != nil { return diff --git a/src/service/work_order.go b/src/service/work_order.go index c8182b1e7ffd68e727d15bbc2d15954cbda6a40b..10cf8ca29297f31901c3d9d00787c0e3be5149df 100644 --- a/src/service/work_order.go +++ b/src/service/work_order.go @@ -13,7 +13,7 @@ import ( ) type WorkOrderManageSvc struct { - User *entity.SystemUser + User entity.SystemUserInfo } // AddWorkOrderManage 新增业务工单 @@ -48,9 +48,9 @@ func (w *WorkOrderManageSvc) AddWorkOrderManage(req request.AddWorkOrderReq) (er OrderDesc: req.OrderDesc, PushObj: fmt.Sprintf("%s", pushObj), TimingType: req.TimingType, - CreateUser: "", + CreateUser: w.User.SystemAccount, CreateTime: time.Now(), - UpdateUser: "", + UpdateUser: w.User.SystemAccount, UpdateTime: time.Now(), } @@ -108,7 +108,7 @@ func (w *WorkOrderManageSvc) EditWorkOrderManage(req request.EditWorkOrderReq) ( OrderDesc: req.OrderDesc, PushObj: fmt.Sprintf("%s", pushObj), TimingType: req.TimingType, - UpdateUser: "", + UpdateUser: w.User.SystemAccount, UpdateTime: time.Now(), } if req.TimingType == 2 { @@ -312,7 +312,7 @@ func (w *WorkOrderManageSvc) PushWorkOrderManage(req request.PushWorkOrderReq) ( OrderId: req.Id, PushObj: fmt.Sprintf("%s", pushObj), OrderState: 1, - CreateUser: "admin", + CreateUser: w.User.SystemAccount, CreateTime: time.Now(), } _, err = session.Table("work_order_issuance").Insert(&workOrderIssuance) @@ -559,6 +559,8 @@ func (w *WorkOrderManageSvc) ListWorkOrderMe(req request.ListWorkOrderReq) (tota Join("INNER", "work_order_issuance woi", "wome.order_issuance_id = woi.id"). Join("INNER", "work_order_manage wom", "woi.order_id = wom.id") + finder.Where("wome.system_account = ?", w.User.SystemAccount) + if req.Search != "" { finder.Where(fmt.Sprintf("wom.order_name LIKE '%s'", "%"+req.Search+"%")) }