From e84a1e75f1028b7396780f438940fc81c4b8c922 Mon Sep 17 00:00:00 2001 From: xh <11675084@qq.com> Date: Tue, 24 Jun 2025 19:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90flow,=E7=9B=91=E6=8E=A7?= =?UTF-8?q?=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/admin/common/captcha/captcha_ctl.go | 2 +- .../admin/flow/flow_apply/flow_apply_ctl.go | 127 ---------- .../tpl_utils/templates/gocode/service.go.tpl | 21 +- .../monitor_project/monitor_project_ctl.go | 219 ----------------- .../monitor_project/monitor_project_schema.go | 62 ----- .../admin/flowController/flow_apply_ctl.go | 129 ++++++++++ .../admin/flowController}/flow_history_ctl.go | 24 +- .../flowController}/flow_template_ctl.go | 16 +- .../admin/monitorController}/monitor.go | 4 +- .../monitorController}/monitor_client_ctl.go | 31 +-- .../monitorController}/monitor_error_ctl.go | 24 +- .../monitorController/monitor_project_ctl.go | 221 ++++++++++++++++++ server/main.go | 2 +- .../enter.go => router/admin/flow_route.go} | 12 +- server/router/admin/monitor_client_route.go | 4 +- server/router/admin/monitor_error_route.go | 4 +- server/router/admin/monitor_project_route.go | 20 +- server/router/admin/{entry.go => route.go} | 13 +- server/router/route.go | 6 +- .../flowSchema}/flow_apply_schema.go | 2 +- .../flowSchema}/flow_history_schema.go | 2 +- .../flowSchema}/flow_template_schema.go | 2 +- .../monitorSchema}/monitor_client_schema.go | 2 +- .../monitor_error_list_schema.go | 2 +- .../monitorSchema}/monitor_error_schema.go | 2 +- .../monitorSchema/monitor_project_schema.go | 60 +++++ .../flowService}/flow_apply_service.go | 17 +- .../flowService}/flow_history_service.go | 13 +- .../flowService}/flow_template_service.go | 14 +- .../monitorService}/monitor_client_service.go | 41 ++-- .../monitor_error_list_service.go | 3 +- .../monitorService}/monitor_error_service.go | 10 +- .../monitor_project_service.go | 31 +-- 33 files changed, 569 insertions(+), 573 deletions(-) delete mode 100644 server/admin/flow/flow_apply/flow_apply_ctl.go delete mode 100644 server/admin/monitor_project/monitor_project_ctl.go delete mode 100644 server/admin/monitor_project/monitor_project_schema.go create mode 100644 server/controller/admin/flowController/flow_apply_ctl.go rename server/{admin/flow/flow_history => controller/admin/flowController}/flow_history_ctl.go (90%) rename server/{admin/flow/flow_template => controller/admin/flowController}/flow_template_ctl.go (89%) rename server/{admin/monitor => controller/admin/monitorController}/monitor.go (94%) rename server/{admin/monitor_client => controller/admin/monitorController}/monitor_client_ctl.go (89%) rename server/{admin/monitor_error => controller/admin/monitorController}/monitor_error_ctl.go (89%) create mode 100644 server/controller/admin/monitorController/monitor_project_ctl.go rename server/{admin/flow/enter.go => router/admin/flow_route.go} (87%) rename server/router/admin/{entry.go => route.go} (82%) rename server/{admin/flow/flow_apply => schema/flowSchema}/flow_apply_schema.go (99%) rename server/{admin/flow/flow_history => schema/flowSchema}/flow_history_schema.go (99%) rename server/{admin/flow/flow_template => schema/flowSchema}/flow_template_schema.go (99%) rename server/{admin/monitor_client => schema/monitorSchema}/monitor_client_schema.go (99%) rename server/{admin/monitor_error_list => schema/monitorSchema}/monitor_error_list_schema.go (94%) rename server/{admin/monitor_error => schema/monitorSchema}/monitor_error_schema.go (98%) create mode 100644 server/schema/monitorSchema/monitor_project_schema.go rename server/{admin/flow/flow_apply => service/flowService}/flow_apply_service.go (91%) rename server/{admin/flow/flow_history => service/flowService}/flow_history_service.go (98%) rename server/{admin/flow/flow_template => service/flowService}/flow_template_service.go (90%) rename server/{admin/monitor_client => service/monitorService}/monitor_client_service.go (90%) rename server/{admin/monitor_error_list => service/monitorService}/monitor_error_list_service.go (93%) rename server/{admin/monitor_error => service/monitorService}/monitor_error_service.go (96%) rename server/{admin/monitor_project => service/monitorService}/monitor_project_service.go (93%) diff --git a/server/admin/common/captcha/captcha_ctl.go b/server/admin/common/captcha/captcha_ctl.go index 47ef3d7..3f6e43c 100644 --- a/server/admin/common/captcha/captcha_ctl.go +++ b/server/admin/common/captcha/captcha_ctl.go @@ -62,7 +62,7 @@ func init() { factory.RegisterService(constant.ClickWordCaptcha, service.NewClickWordCaptchaService(factory)) factory.RegisterService(constant.BlockPuzzleCaptcha, service.NewBlockPuzzleCaptchaService(factory)) } -func CaptchaRoute(rg *gin.RouterGroup) { +func RegisterRoute(rg *gin.RouterGroup) { rg = rg.Group("/common/captcha") rg.POST("/get", func(c *gin.Context) { diff --git a/server/admin/flow/flow_apply/flow_apply_ctl.go b/server/admin/flow/flow_apply/flow_apply_ctl.go deleted file mode 100644 index 7747cfa..0000000 --- a/server/admin/flow/flow_apply/flow_apply_ctl.go +++ /dev/null @@ -1,127 +0,0 @@ -package flow_apply - -import ( - "x_admin/config" - "x_admin/core/request" - "x_admin/core/response" - "x_admin/util" - - "github.com/gin-gonic/gin" -) - -type FlowApplyHandler struct{} - -// @Summary 申请流程列表 -// @Tags flow_apply-申请流程 -// @Produce json -// @Param Token header string true "token" -// @Param PageNo query int true "页码" -// @Param PageSize query int true "每页数量" -// @Param templateId query int false "模板" -// @Param applyUserId query int false "申请人id" -// @Param applyUserNickname query string false "申请人昵称" -// @Param flowName query string false "流程名称" -// @Param flowGroup query int false "流程分类" -// @Param flowRemark query string false "流程描述" -// @Param flowFormData query string false "表单配置" -// @Param flowProcessData query string false "流程配置" -// @Param status query int false "状态:1待提交,2审批中,3审批完成,4审批失败" -// @Success 200 {object} response.Response{data=response.PageResp{lists=[]FlowApplyResp}} "成功" -// @Router /api/admin/flow/flow_apply/list [get] -func (hd FlowApplyHandler) List(c *gin.Context) { - var page request.PageReq - var listReq FlowApplyListReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { - return - } - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { - return - } - res, err := Service.List(page, listReq) - response.CheckAndRespWithData(c, res, err) -} - -// @Summary 申请流程详情 -// @Tags flow_apply-申请流程 -// @Produce json -// @Param Token header string true "token" -// @Param id query int false "申请id" -// @Success 200 {object} response.Response{data=FlowApplyResp} "成功" -// @Router /api/admin/flow/flow_apply/detail [get] -func (hd FlowApplyHandler) Detail(c *gin.Context) { - var detailReq FlowApplyDetailReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { - return - } - res, err := Service.Detail(detailReq.Id) - response.CheckAndRespWithData(c, res, err) -} - -// @Summary 申请流程新增 -// @Tags flow_apply-申请流程 -// @Produce json -// @Param Token header string true "token" -// @Param templateId body int false "模板" -// @Param applyUserId body int false "申请人id" -// @Param applyUserNickname body string false "申请人昵称" -// @Param flowName body string false "流程名称" -// @Param flowGroup body int false "流程分类" -// @Param flowRemark body string false "流程描述" -// @Param flowFormData body string false "表单配置" -// @Param flowProcessData body string false "流程配置" -// @Param status body int false "状态:1待提交,2审批中,3审批完成,4审批失败" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/flow/flow_apply/add [post] -func (hd FlowApplyHandler) Add(c *gin.Context) { - var addReq FlowApplyAddReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { - return - } - - var Nickname = config.AdminConfig.GetNickname(c) - var AdminId = config.AdminConfig.GetAdminId(c) - addReq.ApplyUserNickname = Nickname - addReq.ApplyUserId = int(AdminId) - addReq.Status = 1 - - response.CheckAndResp(c, Service.Add(addReq)) -} - -// @Summary 申请流程编辑 -// @Tags flow_apply-申请流程 -// @Produce json -// @Param Token header string true "token" -// @Param id body int false "申请id" -// @Param templateId body int false "模板" -// @Param applyUserId body int false "申请人id" -// @Param applyUserNickname body string false "申请人昵称" -// @Param flowName body string false "流程名称" -// @Param flowGroup body int false "流程分类" -// @Param flowRemark body string false "流程描述" -// @Param flowFormData body string false "表单配置" -// @Param flowProcessData body string false "流程配置" -// @Param status body int false "状态:1待提交,2审批中,3审批完成,4审批失败" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/flow/flow_apply/edit [post] -func (hd FlowApplyHandler) Edit(c *gin.Context) { - var editReq FlowApplyEditReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { - return - } - response.CheckAndResp(c, Service.Edit(editReq)) -} - -// @Summary 申请流程删除 -// @Tags flow_apply-申请流程 -// @Produce json -// @Param Token header string true "token" -// @Param id body int false "申请id" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/flow/flow_apply/del [post] -func (hd FlowApplyHandler) Del(c *gin.Context) { - var delReq FlowApplyDelReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { - return - } - response.CheckAndResp(c, Service.Del(delReq.Id)) -} diff --git a/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl b/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl index 3bb30d8..02c467b 100644 --- a/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl +++ b/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl @@ -12,22 +12,21 @@ import ( ) var {{{ toUpperCamelCase .EntityName }}}Service=New{{{ toUpperCamelCase .EntityName }}}Service() -var cacheUtil = util.CacheUtil{ - Name: {{{ toUpperCamelCase .EntityName }}}Service.Name, -} // New{{{ toUpperCamelCase .EntityName }}}Service 初始化 func New{{{ toUpperCamelCase .EntityName }}}Service() *{{{ toCamelCase .EntityName }}}Service { return &{{{ toCamelCase .EntityName }}}Service{ db: core.GetDB(), - Name: "{{{ toCamelCase .EntityName }}}", + CacheUtil util.CacheUtil{ + Name: "{{{ toCamelCase .EntityName }}}", + } } } //{{{ toCamelCase .EntityName }}}Service {{{ .FunctionName }}}服务实现类 type {{{ toCamelCase .EntityName }}}Service struct { db *gorm.DB - Name string + CacheUtil util.CacheUtil } @@ -108,7 +107,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) ListAll(listReq {{{ toUppe // Detail {{{ .FunctionName }}}详情 func (service {{{ toCamelCase .EntityName }}}Service) Detail({{{ toUpperCamelCase .PrimaryKey }}} int) (res {{{ toUpperCamelCase .EntityName }}}Resp, e error) { var obj = model.{{{ toUpperCamelCase .EntityName }}}{} - err := cacheUtil.GetCache({{{ toUpperCamelCase .PrimaryKey }}}, &obj) + err := service.CacheUtil.GetCache({{{ toUpperCamelCase .PrimaryKey }}}, &obj) if err != nil { err := service.db.Where("{{{ $.PrimaryKey }}} = ?{{{ if contains .AllFields "is_delete" }}} AND is_delete = ?{{{ end }}}", {{{ toUpperCamelCase .PrimaryKey }}}{{{ if contains .AllFields "is_delete" }}}, 0{{{ end }}}).Limit(1).First(&obj).Error if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { @@ -123,7 +122,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) Detail({{{ toUpperCamelCas res.Avatar = util.UrlUtil.ToAbsoluteUrl(res.Avatar) {{{- end }}} {{{- end }}} - cacheUtil.SetCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}, obj) + service.CacheUtil.SetCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}, obj) } convert_util.Copy(&res, obj) @@ -139,7 +138,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) Add(addReq {{{ toUpperCame if e != nil { return 0,e } - cacheUtil.SetCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}, obj) + service.CacheUtil.SetCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}, obj) createId = obj.{{{ toUpperCamelCase .PrimaryKey }}} return } @@ -161,7 +160,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) Edit(editReq {{{ toUpperCa if e = response.CheckErr(err, "编辑失败"); e != nil { return } - cacheUtil.RemoveCache(obj.Id) + service.CacheUtil.RemoveCache(obj.Id) service.Detail(obj.Id) return } @@ -189,7 +188,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) Del({{{ toUpperCamelCase . err = service.db.Delete(&obj).Error e = response.CheckErr(err, "删除失败") {{{- end }}} - cacheUtil.RemoveCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}) + service.CacheUtil.RemoveCache(obj.{{{ toUpperCamelCase .PrimaryKey }}}) return } @@ -201,7 +200,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) DelBatch(Ids []string) (e return err } // 删除缓存 - cacheUtil.RemoveCache(Ids) + service.CacheUtil.RemoveCache(Ids) return nil } diff --git a/server/admin/monitor_project/monitor_project_ctl.go b/server/admin/monitor_project/monitor_project_ctl.go deleted file mode 100644 index a60ecc1..0000000 --- a/server/admin/monitor_project/monitor_project_ctl.go +++ /dev/null @@ -1,219 +0,0 @@ -package monitor_project - -import ( - "net/http" - "strconv" - "strings" - "time" - "x_admin/core/request" - "x_admin/core/response" - "x_admin/util" - "x_admin/util/excel2" - - "github.com/gin-gonic/gin" - "golang.org/x/sync/singleflight" -) - -type MonitorProjectHandler struct { - requestGroup singleflight.Group -} - -// @Summary 监控项目列表 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param PageNo query int true "页码" -// @Param PageSize query int true "每页数量" -// @Param ProjectKey query string false "项目uuid" -// @Param ProjectName query string false "项目名称" -// @Param ProjectType query string false "项目类型go java web node php 等" -// @Param Status query number false "是否启用: 0=否, 1=是" -// @Param CreateTimeStart query string false "创建时间" -// @Param CreateTimeEnd query string false "创建时间" -// @Param UpdateTimeStart query string false "更新时间" -// @Param UpdateTimeEnd query string false "更新时间" -// -// @Success 200 {object} response.Response{ data=response.PageResp{ lists=[]MonitorProjectResp}} "成功" -// @Router /api/admin/monitor_project/list [get] -func (hd *MonitorProjectHandler) List(c *gin.Context) { - var page request.PageReq - var listReq MonitorProjectListReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { - return - } - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { - return - } - res, err := MonitorProjectService.List(page, listReq) - response.CheckAndRespWithData(c, res, err) -} - -// @Summary 监控项目列表-所有 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param ProjectKey query string false "项目uuid" -// @Param ProjectName query string false "项目名称" -// @Param ProjectType query string false "项目类型go java web node php 等" -// @Param Status query number false "是否启用: 0=否, 1=是" -// @Param CreateTimeStart query string false "创建时间" -// @Param CreateTimeEnd query string false "创建时间" -// @Param UpdateTimeStart query string false "更新时间" -// @Param UpdateTimeEnd query string false "更新时间" -// @Success 200 {object} response.Response{ data=[]MonitorProjectResp} "成功" -// @Router /api/admin/monitor_project/listAll [get] -func (hd *MonitorProjectHandler) ListAll(c *gin.Context) { - var listReq MonitorProjectListReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { - return - } - res, err := MonitorProjectService.ListAll(listReq) - response.CheckAndRespWithData(c, res, err) -} - -// @Summary 监控项目详情 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param Id query number false "项目id" -// @Success 200 {object} response.Response{ data=MonitorProjectResp} "成功" -// @Router /api/admin/monitor_project/detail [get] -func (hd *MonitorProjectHandler) Detail(c *gin.Context) { - var detailReq MonitorProjectDetailReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { - return - } - res, err, _ := hd.requestGroup.Do("MonitorProject:Detail:"+strconv.Itoa(detailReq.Id), func() (any, error) { - v, err := MonitorProjectService.Detail(detailReq.Id) - return v, err - }) - - response.CheckAndRespWithData(c, res, err) -} - -// @Summary 监控项目新增 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param ProjectKey body string false "项目uuid" -// @Param ProjectName body string false "项目名称" -// @Param ProjectType body string false "项目类型go java web node php 等" -// @Param Status body number false "是否启用: 0=否, 1=是" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/monitor_project/add [post] -func (hd *MonitorProjectHandler) Add(c *gin.Context) { - var addReq MonitorProjectAddReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { - return - } - createId, e := MonitorProjectService.Add(addReq) - response.CheckAndRespWithData(c, createId, e) -} - -// @Summary 监控项目编辑 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param Id body number false "项目id" -// @Param ProjectKey body string false "项目uuid" -// @Param ProjectName body string false "项目名称" -// @Param ProjectType body string false "项目类型go java web node php 等" -// @Param Status body number false "是否启用: 0=否, 1=是" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/monitor_project/edit [post] -func (hd *MonitorProjectHandler) Edit(c *gin.Context) { - var editReq MonitorProjectEditReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { - return - } - response.CheckAndRespWithData(c, editReq.Id, MonitorProjectService.Edit(editReq)) -} - -// @Summary 监控项目删除 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param Id body number false "项目id" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/monitor_project/del [post] -func (hd *MonitorProjectHandler) Del(c *gin.Context) { - var delReq MonitorProjectDelReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { - return - } - response.CheckAndResp(c, MonitorProjectService.Del(delReq.Id)) -} - -// @Summary 监控项目删除-批量 -// @Tags monitor_project-监控项目 -// -// @Produce json -// @Param Token header string true "token" -// @Param Ids body string false "逗号分割的id" -// @Success 200 {object} response.Response "成功" -// @Router /api/admin/monitor_project/delBatch [post] -func (hd *MonitorProjectHandler) DelBatch(c *gin.Context) { - var delReq MonitorProjectDelBatchReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { - return - } - if delReq.Ids == "" { - response.FailWithMsg(c, response.SystemError, "请选择要删除的数据") - return - } - var Ids = strings.Split(delReq.Ids, ",") - - response.CheckAndResp(c, MonitorProjectService.DelBatch(Ids)) -} - -// @Summary 监控项目导出 -// @Tags monitor_project-监控项目 -// @Produce json -// @Param Token header string true "token" -// @Param ProjectKey query string false "项目uuid" -// @Param ProjectName query string false "项目名称" -// @Param ProjectType query string false "项目类型go java web node php 等" -// @Param Status query number false "是否启用: 0=否, 1=是" -// @Param CreateTimeStart query string false "创建时间" -// @Param CreateTimeEnd query string false "创建时间" -// @Param UpdateTimeStart query string false "更新时间" -// @Param UpdateTimeEnd query string false "更新时间" -// @Router /api/admin/monitor_project/ExportFile [get] -func (hd *MonitorProjectHandler) ExportFile(c *gin.Context) { - var listReq MonitorProjectListReq - if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { - return - } - res, err := MonitorProjectService.ExportFile(listReq) - if err != nil { - response.FailWithMsg(c, response.SystemError, "查询信息失败") - return - } - f, err := excel2.Export(res, MonitorProjectService.GetExcelCol(), "Sheet1", "监控项目") - if err != nil { - response.FailWithMsg(c, response.SystemError, "导出失败") - return - } - excel2.DownLoadExcel("监控项目"+time.Now().Format("20060102-150405"), c.Writer, f) -} - -// @Summary 监控项目导入 -// @Tags monitor_project-监控项目 -// @Produce json -// @Router /api/admin/monitor_project/ImportFile [post] -func (hd *MonitorProjectHandler) ImportFile(c *gin.Context) { - file, _, err := c.Request.FormFile("file") - if err != nil { - c.String(http.StatusInternalServerError, "文件不存在") - return - } - defer file.Close() - importList := []MonitorProjectResp{} - err = excel2.GetExcelData(file, &importList, MonitorProjectService.GetExcelCol()) - if err != nil { - c.String(http.StatusInternalServerError, err.Error()) - return - } - - err = MonitorProjectService.ImportFile(importList) - response.CheckAndResp(c, err) -} diff --git a/server/admin/monitor_project/monitor_project_schema.go b/server/admin/monitor_project/monitor_project_schema.go deleted file mode 100644 index 254ee00..0000000 --- a/server/admin/monitor_project/monitor_project_schema.go +++ /dev/null @@ -1,62 +0,0 @@ -package monitor_project -import ( - "x_admin/core" - -) - -//MonitorProjectListReq 监控项目列表参数 -type MonitorProjectListReq struct { - ProjectKey *string // 项目uuid - ProjectName *string // 项目名称 - ProjectType *string // 项目类型go java web node php 等 - Status *int // 是否启用: 0=否, 1=是 - CreateTimeStart *string // 开始创建时间 - CreateTimeEnd *string // 结束创建时间 - UpdateTimeStart *string // 开始更新时间 - UpdateTimeEnd *string // 结束更新时间 -} - - - -//MonitorProjectAddReq 监控项目新增参数 -type MonitorProjectAddReq struct { - ProjectKey *string // 项目uuid - ProjectName *string // 项目名称 - ProjectType *string // 项目类型go java web node php 等 - Status core.NullInt // 是否启用: 0=否, 1=是 -} - -//MonitorProjectEditReq 监控项目编辑参数 -type MonitorProjectEditReq struct { - Id int // 项目id - ProjectKey *string // 项目uuid - ProjectName *string // 项目名称 - ProjectType *string // 项目类型go java web node php 等 - Status core.NullInt // 是否启用: 0=否, 1=是 -} - -//MonitorProjectDetailReq 监控项目详情参数 -type MonitorProjectDetailReq struct { - Id int // 项目id -} - -//MonitorProjectDelReq 监控项目删除参数 -type MonitorProjectDelReq struct { - Id int // 项目id -} - -//MonitorProjectDelReq 监控项目批量删除参数 -type MonitorProjectDelBatchReq struct { - Ids string -} - -//MonitorProjectResp 监控项目返回信息 -type MonitorProjectResp struct { - Id int // 项目id - ProjectKey string // 项目uuid - ProjectName string // 项目名称 - ProjectType string // 项目类型go java web node php 等 - Status core.NullInt // 是否启用: 0=否, 1=是 - CreateTime core.NullTime // 创建时间 - UpdateTime core.NullTime // 更新时间 -} diff --git a/server/controller/admin/flowController/flow_apply_ctl.go b/server/controller/admin/flowController/flow_apply_ctl.go new file mode 100644 index 0000000..d26eaa4 --- /dev/null +++ b/server/controller/admin/flowController/flow_apply_ctl.go @@ -0,0 +1,129 @@ +package flowController + +import ( + "x_admin/config" + "x_admin/core/request" + "x_admin/core/response" + . "x_admin/schema/flowSchema" + "x_admin/service/flowService" + "x_admin/util" + + "github.com/gin-gonic/gin" +) + +type FlowApplyHandler struct{} + +// @Summary 申请流程列表 +// @Tags flow_apply-申请流程 +// @Produce json +// @Param Token header string true "token" +// @Param PageNo query int true "页码" +// @Param PageSize query int true "每页数量" +// @Param templateId query int false "模板" +// @Param applyUserId query int false "申请人id" +// @Param applyUserNickname query string false "申请人昵称" +// @Param flowName query string false "流程名称" +// @Param flowGroup query int false "流程分类" +// @Param flowRemark query string false "流程描述" +// @Param flowFormData query string false "表单配置" +// @Param flowProcessData query string false "流程配置" +// @Param status query int false "状态:1待提交,2审批中,3审批完成,4审批失败" +// @Success 200 {object} response.Response{data=response.PageResp{lists=[]FlowApplyResp}} "成功" +// @Router /api/admin/flow/flow_apply/list [get] +func (hd FlowApplyHandler) List(c *gin.Context) { + var page request.PageReq + var listReq FlowApplyListReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { + return + } + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { + return + } + res, err := flowService.ApplyService.List(page, listReq) + response.CheckAndRespWithData(c, res, err) +} + +// @Summary 申请流程详情 +// @Tags flow_apply-申请流程 +// @Produce json +// @Param Token header string true "token" +// @Param id query int false "申请id" +// @Success 200 {object} response.Response{data=FlowApplyResp} "成功" +// @Router /api/admin/flow/flow_apply/detail [get] +func (hd FlowApplyHandler) Detail(c *gin.Context) { + var detailReq FlowApplyDetailReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { + return + } + res, err := flowService.ApplyService.Detail(detailReq.Id) + response.CheckAndRespWithData(c, res, err) +} + +// @Summary 申请流程新增 +// @Tags flow_apply-申请流程 +// @Produce json +// @Param Token header string true "token" +// @Param templateId body int false "模板" +// @Param applyUserId body int false "申请人id" +// @Param applyUserNickname body string false "申请人昵称" +// @Param flowName body string false "流程名称" +// @Param flowGroup body int false "流程分类" +// @Param flowRemark body string false "流程描述" +// @Param flowFormData body string false "表单配置" +// @Param flowProcessData body string false "流程配置" +// @Param status body int false "状态:1待提交,2审批中,3审批完成,4审批失败" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/flow/flow_apply/add [post] +func (hd FlowApplyHandler) Add(c *gin.Context) { + var addReq FlowApplyAddReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { + return + } + + var Nickname = config.AdminConfig.GetNickname(c) + var AdminId = config.AdminConfig.GetAdminId(c) + addReq.ApplyUserNickname = Nickname + addReq.ApplyUserId = int(AdminId) + addReq.Status = 1 + + response.CheckAndResp(c, flowService.ApplyService.Add(addReq)) +} + +// @Summary 申请流程编辑 +// @Tags flow_apply-申请流程 +// @Produce json +// @Param Token header string true "token" +// @Param id body int false "申请id" +// @Param templateId body int false "模板" +// @Param applyUserId body int false "申请人id" +// @Param applyUserNickname body string false "申请人昵称" +// @Param flowName body string false "流程名称" +// @Param flowGroup body int false "流程分类" +// @Param flowRemark body string false "流程描述" +// @Param flowFormData body string false "表单配置" +// @Param flowProcessData body string false "流程配置" +// @Param status body int false "状态:1待提交,2审批中,3审批完成,4审批失败" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/flow/flow_apply/edit [post] +func (hd FlowApplyHandler) Edit(c *gin.Context) { + var editReq FlowApplyEditReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { + return + } + response.CheckAndResp(c, flowService.ApplyService.Edit(editReq)) +} + +// @Summary 申请流程删除 +// @Tags flow_apply-申请流程 +// @Produce json +// @Param Token header string true "token" +// @Param id body int false "申请id" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/flow/flow_apply/del [post] +func (hd FlowApplyHandler) Del(c *gin.Context) { + var delReq FlowApplyDelReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { + return + } + response.CheckAndResp(c, flowService.ApplyService.Del(delReq.Id)) +} diff --git a/server/admin/flow/flow_history/flow_history_ctl.go b/server/controller/admin/flowController/flow_history_ctl.go similarity index 90% rename from server/admin/flow/flow_history/flow_history_ctl.go rename to server/controller/admin/flowController/flow_history_ctl.go index 3f43443..49b8c5f 100644 --- a/server/admin/flow/flow_history/flow_history_ctl.go +++ b/server/controller/admin/flowController/flow_history_ctl.go @@ -1,9 +1,11 @@ -package flow_history +package flowController import ( "fmt" "x_admin/core/request" "x_admin/core/response" + . "x_admin/schema/flowSchema" + "x_admin/service/flowService" "x_admin/util" "github.com/gin-gonic/gin" @@ -41,7 +43,7 @@ func (hd FlowHistoryHandler) List(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := Service.List(page, listReq) + res, err := flowService.HistoryService.List(page, listReq) response.CheckAndRespWithData(c, res, err) } @@ -55,7 +57,7 @@ func (hd FlowHistoryHandler) ListAll(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := Service.ListAll(listReq) + res, err := flowService.HistoryService.ListAll(listReq) response.CheckAndRespWithData(c, res, err) } @@ -71,7 +73,7 @@ func (hd FlowHistoryHandler) Detail(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { return } - res, err := Service.Detail(detailReq.Id) + res, err := flowService.HistoryService.Detail(detailReq.Id) response.CheckAndRespWithData(c, res, err) } @@ -96,7 +98,7 @@ func (hd FlowHistoryHandler) Add(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { return } - response.CheckAndResp(c, Service.Add(addReq)) + response.CheckAndResp(c, flowService.HistoryService.Add(addReq)) } // @Summary 流程历史编辑 @@ -121,7 +123,7 @@ func (hd FlowHistoryHandler) Edit(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { return } - response.CheckAndResp(c, Service.Edit(editReq)) + response.CheckAndResp(c, flowService.HistoryService.Edit(editReq)) } // @Summary 流程历史删除 @@ -136,7 +138,7 @@ func (hd FlowHistoryHandler) Del(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { return } - response.CheckAndResp(c, Service.Del(delReq.Id)) + response.CheckAndResp(c, flowService.HistoryService.Del(delReq.Id)) } // 提交申请,通过审批 @@ -149,7 +151,7 @@ func (hd FlowHistoryHandler) Pass(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &pass)) { return } - err := Service.Pass(pass) + err := flowService.HistoryService.Pass(pass) response.CheckAndResp(c, err) } @@ -164,7 +166,7 @@ func (hd FlowHistoryHandler) Back(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &back)) { return } - err := Service.Back(back) + err := flowService.HistoryService.Back(back) fmt.Println(err) response.CheckAndResp(c, err) } @@ -175,7 +177,7 @@ func (hd FlowHistoryHandler) NextNode(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &nextNode)) { return } - res, _, _, err := Service.GetNextNode(nextNode.ApplyId) + res, _, _, err := flowService.HistoryService.GetNextNode(nextNode.ApplyId) response.CheckAndRespWithData(c, res, err) } @@ -186,7 +188,7 @@ func (hd FlowHistoryHandler) GetApprover(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &nextNode)) { return } - res, err := Service.GetApprover(nextNode.ApplyId) + res, err := flowService.HistoryService.GetApprover(nextNode.ApplyId) if err != nil { response.FailWithMsg(c, response.Failed, err.Error()) return diff --git a/server/admin/flow/flow_template/flow_template_ctl.go b/server/controller/admin/flowController/flow_template_ctl.go similarity index 89% rename from server/admin/flow/flow_template/flow_template_ctl.go rename to server/controller/admin/flowController/flow_template_ctl.go index d7a0439..66097ad 100644 --- a/server/admin/flow/flow_template/flow_template_ctl.go +++ b/server/controller/admin/flowController/flow_template_ctl.go @@ -1,8 +1,10 @@ -package flow_template +package flowController import ( "x_admin/core/request" "x_admin/core/response" + . "x_admin/schema/flowSchema" + "x_admin/service/flowService" "x_admin/util" "github.com/gin-gonic/gin" @@ -33,7 +35,7 @@ func (hd FlowTemplateHandler) List(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := Service.List(page, listReq) + res, err := flowService.TemplateService.List(page, listReq) response.CheckAndRespWithData(c, res, err) } @@ -41,7 +43,7 @@ func (hd FlowTemplateHandler) List(c *gin.Context) { // @Tags flow_template-流程模板 // @Router /api/admin/flow/flow_template/listAll [get] func (hd FlowTemplateHandler) ListAll(c *gin.Context) { - res, err := Service.ListAll() + res, err := flowService.TemplateService.ListAll() response.CheckAndRespWithData(c, res, err) } @@ -57,7 +59,7 @@ func (hd FlowTemplateHandler) Detail(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { return } - res, err := Service.Detail(detailReq.Id) + res, err := flowService.TemplateService.Detail(detailReq.Id) response.CheckAndRespWithData(c, res, err) } @@ -77,7 +79,7 @@ func (hd FlowTemplateHandler) Add(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { return } - response.CheckAndResp(c, Service.Add(addReq)) + response.CheckAndResp(c, flowService.TemplateService.Add(addReq)) } // @Summary 流程模板编辑 @@ -97,7 +99,7 @@ func (hd FlowTemplateHandler) Edit(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { return } - response.CheckAndResp(c, Service.Edit(editReq)) + response.CheckAndResp(c, flowService.TemplateService.Edit(editReq)) } // @Summary 流程模板删除 @@ -112,5 +114,5 @@ func (hd FlowTemplateHandler) Del(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { return } - response.CheckAndResp(c, Service.Del(delReq.Id)) + response.CheckAndResp(c, flowService.TemplateService.Del(delReq.Id)) } diff --git a/server/admin/monitor/monitor.go b/server/controller/admin/monitorController/monitor.go similarity index 94% rename from server/admin/monitor/monitor.go rename to server/controller/admin/monitorController/monitor.go index a0183eb..524b4fd 100644 --- a/server/admin/monitor/monitor.go +++ b/server/controller/admin/monitorController/monitor.go @@ -1,4 +1,4 @@ -package monitor +package monitorController import ( "strings" @@ -9,7 +9,7 @@ import ( "github.com/gin-gonic/gin" ) -func MonitorRoute(rg *gin.RouterGroup) { +func RegisterRoute(rg *gin.RouterGroup) { handle := monitorHandler{} rg = rg.Group("/monitor", middleware.TokenAuth()) diff --git a/server/admin/monitor_client/monitor_client_ctl.go b/server/controller/admin/monitorController/monitor_client_ctl.go similarity index 89% rename from server/admin/monitor_client/monitor_client_ctl.go rename to server/controller/admin/monitorController/monitor_client_ctl.go index 43333d8..09cf809 100644 --- a/server/admin/monitor_client/monitor_client_ctl.go +++ b/server/controller/admin/monitorController/monitor_client_ctl.go @@ -1,4 +1,4 @@ -package monitor_client +package monitorController import ( "encoding/json" @@ -11,6 +11,8 @@ import ( "x_admin/core" "x_admin/core/request" "x_admin/core/response" + . "x_admin/schema/monitorSchema" + "x_admin/service/monitorService" "x_admin/util" "x_admin/util/excel2" "x_admin/util/img_util" @@ -56,7 +58,7 @@ func (hd *MonitorClientHandler) List(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorClientService.List(page, listReq) + res, err := monitorService.MonitorClientService.List(page, listReq) response.CheckAndRespWithData(c, res, err) } @@ -85,7 +87,7 @@ func (hd *MonitorClientHandler) ListAll(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorClientService.ListAll(listReq) + res, err := monitorService.MonitorClientService.ListAll(listReq) response.CheckAndRespWithData(c, res, err) } @@ -94,7 +96,7 @@ func (hd *MonitorClientHandler) ErrorUsers(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &Req)) { return } - res, err := MonitorClientService.ErrorUsers(Req.Id) + res, err := monitorService.MonitorClientService.ErrorUsers(Req.Id) response.CheckAndRespWithData(c, res, err) } @@ -111,7 +113,7 @@ func (hd *MonitorClientHandler) Detail(c *gin.Context) { return } res, err, _ := hd.requestGroup.Do("MonitorClient:Detail:"+strconv.Itoa(detailReq.Id), func() (any, error) { - v, err := MonitorClientService.Detail(detailReq.Id) + v, err := monitorService.MonitorClientService.Detail(detailReq.Id) return v, err }) @@ -146,7 +148,7 @@ func (hd *MonitorClientHandler) Add(c *gin.Context) { var addReq MonitorClientAddReq json.Unmarshal([]byte(data), &addReq) - lastClient, err := MonitorClientService.DetailByClientId(*addReq.ClientId) + lastClient, err := monitorService.MonitorClientService.DetailByClientId(*addReq.ClientId) uaStr := c.GetHeader("user-agent") ip := c.ClientIP() @@ -161,7 +163,8 @@ func (hd *MonitorClientHandler) Add(c *gin.Context) { return } else { // 新建的话,需要清除lastClient对应的缓存 - cacheUtil.RemoveCache("ClientId:" + lastClient.ClientId) + monitorService.MonitorClientService.CacheUtil.RemoveCache("ClientId:" + lastClient.ClientId) + } } @@ -182,7 +185,7 @@ func (hd *MonitorClientHandler) Add(c *gin.Context) { addReq.Province = ®ionInfo.Province } - MonitorClientService.Add(addReq) + monitorService.MonitorClientService.Add(addReq) c.Data(200, "image/gif", img_util.EmptyGif()) } @@ -199,7 +202,7 @@ func (hd *MonitorClientHandler) Del(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { return } - response.CheckAndResp(c, MonitorClientService.Del(delReq.Id)) + response.CheckAndResp(c, monitorService.MonitorClientService.Del(delReq.Id)) } // @Summary 监控-客户端信息删除-批量 @@ -221,7 +224,7 @@ func (hd *MonitorClientHandler) DelBatch(c *gin.Context) { } var Ids = strings.Split(delReq.Ids, ",") - response.CheckAndResp(c, MonitorClientService.DelBatch(Ids)) + response.CheckAndResp(c, monitorService.MonitorClientService.DelBatch(Ids)) } // @Summary 监控-客户端信息导出 @@ -249,12 +252,12 @@ func (hd *MonitorClientHandler) ExportFile(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorClientService.ExportFile(listReq) + res, err := monitorService.MonitorClientService.ExportFile(listReq) if err != nil { response.FailWithMsg(c, response.SystemError, "查询信息失败") return } - f, err := excel2.Export(res, MonitorClientService.GetExcelCol(), "Sheet1", "监控-客户端信息") + f, err := excel2.Export(res, monitorService.MonitorClientService.GetExcelCol(), "Sheet1", "监控-客户端信息") if err != nil { response.FailWithMsg(c, response.SystemError, "导出失败") return @@ -274,12 +277,12 @@ func (hd *MonitorClientHandler) ImportFile(c *gin.Context) { } defer file.Close() importList := []MonitorClientResp{} - err = excel2.GetExcelData(file, &importList, MonitorClientService.GetExcelCol()) + err = excel2.GetExcelData(file, &importList, monitorService.MonitorClientService.GetExcelCol()) if err != nil { c.String(http.StatusInternalServerError, err.Error()) return } - err = MonitorClientService.ImportFile(importList) + err = monitorService.MonitorClientService.ImportFile(importList) response.CheckAndResp(c, err) } diff --git a/server/admin/monitor_error/monitor_error_ctl.go b/server/controller/admin/monitorController/monitor_error_ctl.go similarity index 89% rename from server/admin/monitor_error/monitor_error_ctl.go rename to server/controller/admin/monitorController/monitor_error_ctl.go index 493c02b..7d69c87 100644 --- a/server/admin/monitor_error/monitor_error_ctl.go +++ b/server/controller/admin/monitorController/monitor_error_ctl.go @@ -1,4 +1,4 @@ -package monitor_error +package monitorController import ( "encoding/json" @@ -9,6 +9,8 @@ import ( "time" "x_admin/core/request" "x_admin/core/response" + . "x_admin/schema/monitorSchema" + "x_admin/service/monitorService" "x_admin/util" "x_admin/util/excel2" "x_admin/util/img_util" @@ -47,7 +49,7 @@ func (hd *MonitorErrorHandler) List(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorErrorService.List(page, listReq) + res, err := monitorService.MonitorErrorService.List(page, listReq) response.CheckAndRespWithData(c, res, err) } @@ -69,7 +71,7 @@ func (hd *MonitorErrorHandler) ListAll(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorErrorService.ListAll(listReq) + res, err := monitorService.MonitorErrorService.ListAll(listReq) response.CheckAndRespWithData(c, res, err) } @@ -86,7 +88,7 @@ func (hd *MonitorErrorHandler) Detail(c *gin.Context) { return } res, err, _ := hd.requestGroup.Do("MonitorError:Detail:"+strconv.Itoa(detailReq.Id), func() (any, error) { - v, err := MonitorErrorService.Detail(detailReq.Id) + v, err := monitorService.MonitorErrorService.Detail(detailReq.Id) return v, err }) @@ -119,7 +121,7 @@ func (hd *MonitorErrorHandler) Add(c *gin.Context) { // return // } for i := 0; i < len(addReq); i++ { - MonitorErrorService.Add(addReq[i]) + monitorService.MonitorErrorService.Add(addReq[i]) } c.Data(200, "image/gif", img_util.EmptyGif()) } @@ -136,7 +138,7 @@ func (hd *MonitorErrorHandler) Del(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { return } - response.CheckAndResp(c, MonitorErrorService.Del(delReq.Id)) + response.CheckAndResp(c, monitorService.MonitorErrorService.Del(delReq.Id)) } // @Summary 监控-错误列删除-批量 @@ -158,7 +160,7 @@ func (hd *MonitorErrorHandler) DelBatch(c *gin.Context) { } var Ids = strings.Split(delReq.Ids, ",") - response.CheckAndResp(c, MonitorErrorService.DelBatch(Ids)) + response.CheckAndResp(c, monitorService.MonitorErrorService.DelBatch(Ids)) } // @Summary 监控-错误列导出 @@ -179,12 +181,12 @@ func (hd *MonitorErrorHandler) ExportFile(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := MonitorErrorService.ExportFile(listReq) + res, err := monitorService.MonitorErrorService.ExportFile(listReq) if err != nil { response.FailWithMsg(c, response.SystemError, "查询信息失败") return } - f, err := excel2.Export(res, MonitorErrorService.GetExcelCol(), "Sheet1", "监控-错误列") + f, err := excel2.Export(res, monitorService.MonitorErrorService.GetExcelCol(), "Sheet1", "监控-错误列") if err != nil { response.FailWithMsg(c, response.SystemError, "导出失败") return @@ -204,12 +206,12 @@ func (hd *MonitorErrorHandler) ImportFile(c *gin.Context) { } defer file.Close() importList := []MonitorErrorResp{} - err = excel2.GetExcelData(file, &importList, MonitorErrorService.GetExcelCol()) + err = excel2.GetExcelData(file, &importList, monitorService.MonitorErrorService.GetExcelCol()) if err != nil { c.String(http.StatusInternalServerError, err.Error()) return } - err = MonitorErrorService.ImportFile(importList) + err = monitorService.MonitorErrorService.ImportFile(importList) response.CheckAndResp(c, err) } diff --git a/server/controller/admin/monitorController/monitor_project_ctl.go b/server/controller/admin/monitorController/monitor_project_ctl.go new file mode 100644 index 0000000..754d146 --- /dev/null +++ b/server/controller/admin/monitorController/monitor_project_ctl.go @@ -0,0 +1,221 @@ +package monitorController + +import ( + "net/http" + "strconv" + "strings" + "time" + "x_admin/core/request" + "x_admin/core/response" + . "x_admin/schema/monitorSchema" + "x_admin/service/monitorService" + "x_admin/util" + "x_admin/util/excel2" + + "github.com/gin-gonic/gin" + "golang.org/x/sync/singleflight" +) + +type MonitorProjectHandler struct { + requestGroup singleflight.Group +} + +// @Summary 监控项目列表 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param PageNo query int true "页码" +// @Param PageSize query int true "每页数量" +// @Param ProjectKey query string false "项目uuid" +// @Param ProjectName query string false "项目名称" +// @Param ProjectType query string false "项目类型go java web node php 等" +// @Param Status query number false "是否启用: 0=否, 1=是" +// @Param CreateTimeStart query string false "创建时间" +// @Param CreateTimeEnd query string false "创建时间" +// @Param UpdateTimeStart query string false "更新时间" +// @Param UpdateTimeEnd query string false "更新时间" +// +// @Success 200 {object} response.Response{ data=response.PageResp{ lists=[]MonitorProjectResp}} "成功" +// @Router /api/admin/monitor_project/list [get] +func (hd *MonitorProjectHandler) List(c *gin.Context) { + var page request.PageReq + var listReq MonitorProjectListReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { + return + } + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { + return + } + res, err := monitorService.MonitorProjectService.List(page, listReq) + response.CheckAndRespWithData(c, res, err) +} + +// @Summary 监控项目列表-所有 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param ProjectKey query string false "项目uuid" +// @Param ProjectName query string false "项目名称" +// @Param ProjectType query string false "项目类型go java web node php 等" +// @Param Status query number false "是否启用: 0=否, 1=是" +// @Param CreateTimeStart query string false "创建时间" +// @Param CreateTimeEnd query string false "创建时间" +// @Param UpdateTimeStart query string false "更新时间" +// @Param UpdateTimeEnd query string false "更新时间" +// @Success 200 {object} response.Response{ data=[]MonitorProjectResp} "成功" +// @Router /api/admin/monitor_project/listAll [get] +func (hd *MonitorProjectHandler) ListAll(c *gin.Context) { + var listReq MonitorProjectListReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { + return + } + res, err := monitorService.MonitorProjectService.ListAll(listReq) + response.CheckAndRespWithData(c, res, err) +} + +// @Summary 监控项目详情 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param Id query number false "项目id" +// @Success 200 {object} response.Response{ data=MonitorProjectResp} "成功" +// @Router /api/admin/monitor_project/detail [get] +func (hd *MonitorProjectHandler) Detail(c *gin.Context) { + var detailReq MonitorProjectDetailReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { + return + } + res, err, _ := hd.requestGroup.Do("MonitorProject:Detail:"+strconv.Itoa(detailReq.Id), func() (any, error) { + v, err := monitorService.MonitorProjectService.Detail(detailReq.Id) + return v, err + }) + + response.CheckAndRespWithData(c, res, err) +} + +// @Summary 监控项目新增 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param ProjectKey body string false "项目uuid" +// @Param ProjectName body string false "项目名称" +// @Param ProjectType body string false "项目类型go java web node php 等" +// @Param Status body number false "是否启用: 0=否, 1=是" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/monitor_project/add [post] +func (hd *MonitorProjectHandler) Add(c *gin.Context) { + var addReq MonitorProjectAddReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { + return + } + createId, e := monitorService.MonitorProjectService.Add(addReq) + response.CheckAndRespWithData(c, createId, e) +} + +// @Summary 监控项目编辑 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param Id body number false "项目id" +// @Param ProjectKey body string false "项目uuid" +// @Param ProjectName body string false "项目名称" +// @Param ProjectType body string false "项目类型go java web node php 等" +// @Param Status body number false "是否启用: 0=否, 1=是" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/monitor_project/edit [post] +func (hd *MonitorProjectHandler) Edit(c *gin.Context) { + var editReq MonitorProjectEditReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { + return + } + response.CheckAndRespWithData(c, editReq.Id, monitorService.MonitorProjectService.Edit(editReq)) +} + +// @Summary 监控项目删除 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param Id body number false "项目id" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/monitor_project/del [post] +func (hd *MonitorProjectHandler) Del(c *gin.Context) { + var delReq MonitorProjectDelReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { + return + } + response.CheckAndResp(c, monitorService.MonitorProjectService.Del(delReq.Id)) +} + +// @Summary 监控项目删除-批量 +// @Tags monitor_project-监控项目 +// +// @Produce json +// @Param Token header string true "token" +// @Param Ids body string false "逗号分割的id" +// @Success 200 {object} response.Response "成功" +// @Router /api/admin/monitor_project/delBatch [post] +func (hd *MonitorProjectHandler) DelBatch(c *gin.Context) { + var delReq MonitorProjectDelBatchReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { + return + } + if delReq.Ids == "" { + response.FailWithMsg(c, response.SystemError, "请选择要删除的数据") + return + } + var Ids = strings.Split(delReq.Ids, ",") + + response.CheckAndResp(c, monitorService.MonitorProjectService.DelBatch(Ids)) +} + +// @Summary 监控项目导出 +// @Tags monitor_project-监控项目 +// @Produce json +// @Param Token header string true "token" +// @Param ProjectKey query string false "项目uuid" +// @Param ProjectName query string false "项目名称" +// @Param ProjectType query string false "项目类型go java web node php 等" +// @Param Status query number false "是否启用: 0=否, 1=是" +// @Param CreateTimeStart query string false "创建时间" +// @Param CreateTimeEnd query string false "创建时间" +// @Param UpdateTimeStart query string false "更新时间" +// @Param UpdateTimeEnd query string false "更新时间" +// @Router /api/admin/monitor_project/ExportFile [get] +func (hd *MonitorProjectHandler) ExportFile(c *gin.Context) { + var listReq MonitorProjectListReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { + return + } + res, err := monitorService.MonitorProjectService.ExportFile(listReq) + if err != nil { + response.FailWithMsg(c, response.SystemError, "查询信息失败") + return + } + f, err := excel2.Export(res, monitorService.MonitorProjectService.GetExcelCol(), "Sheet1", "监控项目") + if err != nil { + response.FailWithMsg(c, response.SystemError, "导出失败") + return + } + excel2.DownLoadExcel("监控项目"+time.Now().Format("20060102-150405"), c.Writer, f) +} + +// @Summary 监控项目导入 +// @Tags monitor_project-监控项目 +// @Produce json +// @Router /api/admin/monitor_project/ImportFile [post] +func (hd *MonitorProjectHandler) ImportFile(c *gin.Context) { + file, _, err := c.Request.FormFile("file") + if err != nil { + c.String(http.StatusInternalServerError, "文件不存在") + return + } + defer file.Close() + importList := []MonitorProjectResp{} + err = excel2.GetExcelData(file, &importList, monitorService.MonitorProjectService.GetExcelCol()) + if err != nil { + c.String(http.StatusInternalServerError, err.Error()) + return + } + + err = monitorService.MonitorProjectService.ImportFile(importList) + response.CheckAndResp(c, err) +} diff --git a/server/main.go b/server/main.go index 30991d7..694afd2 100644 --- a/server/main.go +++ b/server/main.go @@ -53,7 +53,7 @@ func initRouter() *gin.Engine { // 注册路由 apiGroup := r.Group("/api") - router.RegisterGroup(apiGroup, r) + router.RegisterRoute(apiGroup, r) return r } diff --git a/server/admin/flow/enter.go b/server/router/admin/flow_route.go similarity index 87% rename from server/admin/flow/enter.go rename to server/router/admin/flow_route.go index 09bed85..c46e68a 100644 --- a/server/admin/flow/enter.go +++ b/server/router/admin/flow_route.go @@ -1,9 +1,7 @@ -package flow +package admin import ( - "x_admin/admin/flow/flow_apply" - "x_admin/admin/flow/flow_history" - "x_admin/admin/flow/flow_template" + "x_admin/controller/admin/flowController" "x_admin/middleware" "github.com/gin-gonic/gin" @@ -18,7 +16,7 @@ import ( func FlowApplyRoute(rg *gin.RouterGroup) { - handle := flow_apply.FlowApplyHandler{} + handle := flowController.FlowApplyHandler{} rg = rg.Group("/flow", middleware.TokenAuth()) rg.GET("/flow_apply/list", handle.List) @@ -42,7 +40,7 @@ flow_history:detail // FlowHistoryRoute(rg) func FlowHistoryRoute(rg *gin.RouterGroup) { - handle := flow_history.FlowHistoryHandler{} + handle := flowController.FlowHistoryHandler{} rg = rg.Group("/flow", middleware.TokenAuth()) rg.GET("/flow_history/list", handle.List) @@ -73,7 +71,7 @@ flow_template:detail // FlowTemplateRoute(rg) func FlowTemplateRoute(rg *gin.RouterGroup) { - handle := flow_template.FlowTemplateHandler{} + handle := flowController.FlowTemplateHandler{} rg = rg.Group("/flow", middleware.TokenAuth()) rg.GET("/flow_template/list", handle.List) diff --git a/server/router/admin/monitor_client_route.go b/server/router/admin/monitor_client_route.go index 1cd0a43..734f1a0 100644 --- a/server/router/admin/monitor_client_route.go +++ b/server/router/admin/monitor_client_route.go @@ -1,7 +1,7 @@ package admin import ( - "x_admin/admin/monitor_client" + "x_admin/controller/admin/monitorController" "x_admin/middleware" "github.com/gin-gonic/gin" @@ -44,7 +44,7 @@ INSERT INTO x_system_auth_menu (pid, menu_type, menu_name, perms,is_cache, is_sh // MonitorClientRoute(rg) func MonitorClientRoute(rg *gin.RouterGroup) { - handle := monitor_client.MonitorClientHandler{} + handle := monitorController.MonitorClientHandler{} rg.GET("/monitor_client/add", middleware.RecordLog("监控-客户端信息新增"), handle.Add) r := rg.Group("/", middleware.TokenAuth()) diff --git a/server/router/admin/monitor_error_route.go b/server/router/admin/monitor_error_route.go index 9fba4f5..ebafb1a 100644 --- a/server/router/admin/monitor_error_route.go +++ b/server/router/admin/monitor_error_route.go @@ -1,7 +1,7 @@ package admin import ( - "x_admin/admin/monitor_error" + "x_admin/controller/admin/monitorController" "x_admin/middleware" "github.com/gin-gonic/gin" @@ -44,7 +44,7 @@ INSERT INTO x_system_auth_menu (pid, menu_type, menu_name, perms,is_cache, is_sh // MonitorErrorRoute(rg) func MonitorErrorRoute(rg *gin.RouterGroup) { - handle := monitor_error.MonitorErrorHandler{} + handle := monitorController.MonitorErrorHandler{} rg.GET("/monitor_error/add", middleware.RecordLog("监控-错误列新增"), handle.Add) r := rg.Group("/", middleware.TokenAuth()) diff --git a/server/router/admin/monitor_project_route.go b/server/router/admin/monitor_project_route.go index b68cac3..adeca60 100644 --- a/server/router/admin/monitor_project_route.go +++ b/server/router/admin/monitor_project_route.go @@ -1,9 +1,10 @@ package admin import ( + "x_admin/controller/admin/monitorController" + "x_admin/middleware" + "github.com/gin-gonic/gin" - "x_admin/middleware" - "x_admin/admin/monitor_project" ) /** @@ -41,22 +42,21 @@ INSERT INTO x_system_auth_menu (pid, menu_type, menu_name, perms,is_cache, is_sh INSERT INTO x_system_auth_menu (pid, menu_type, menu_name, perms,is_cache, is_show, is_disable, create_time, update_time) VALUES (0, 'A', '监控项目导入excel','admin:monitor_project:ImportFile', 0, 1, 0, now(), now()); */ - // MonitorProjectRoute(rg) func MonitorProjectRoute(rg *gin.RouterGroup) { - handle := monitor_project.MonitorProjectHandler{} + handle := monitorController.MonitorProjectHandler{} r := rg.Group("/", middleware.TokenAuth()) r.GET("/monitor_project/list", handle.List) r.GET("/monitor_project/listAll", handle.ListAll) r.GET("/monitor_project/detail", handle.Detail) - - r.POST("/monitor_project/add",middleware.RecordLog("监控项目新增"), handle.Add) - r.POST("/monitor_project/edit",middleware.RecordLog("监控项目编辑"), handle.Edit) - + + r.POST("/monitor_project/add", middleware.RecordLog("监控项目新增"), handle.Add) + r.POST("/monitor_project/edit", middleware.RecordLog("监控项目编辑"), handle.Edit) + r.POST("/monitor_project/del", middleware.RecordLog("监控项目删除"), handle.Del) r.POST("/monitor_project/delBatch", middleware.RecordLog("监控项目删除-批量"), handle.DelBatch) r.GET("/monitor_project/ExportFile", middleware.RecordLog("监控项目导出"), handle.ExportFile) - r.POST("/monitor_project/ImportFile", handle.ImportFile) -} \ No newline at end of file + r.POST("/monitor_project/ImportFile", handle.ImportFile) +} diff --git a/server/router/admin/entry.go b/server/router/admin/route.go similarity index 82% rename from server/router/admin/entry.go rename to server/router/admin/route.go index 60765ff..6916307 100644 --- a/server/router/admin/entry.go +++ b/server/router/admin/route.go @@ -4,17 +4,16 @@ import ( "x_admin/admin/common/album" "x_admin/admin/common/index" "x_admin/admin/common/upload" - "x_admin/admin/flow" "x_admin/admin/generator" - "x_admin/admin/monitor" + "x_admin/controller/admin/monitorController" "x_admin/controller/admin/settingController" "x_admin/controller/admin/systemController" "github.com/gin-gonic/gin" ) -func RegisterGroup(rg *gin.RouterGroup) { +func RegisterRoute(rg *gin.RouterGroup) { rg = rg.Group("/admin") // 所有子路由需要加上前缀 /api/admin @@ -23,7 +22,7 @@ func RegisterGroup(rg *gin.RouterGroup) { album.AlbumRoute(rg) index.IndexRoute(rg) - monitor.MonitorRoute(rg) + monitorController.RegisterRoute(rg) settingController.CopyrightRoute(rg) settingController.DictDataRoute(rg) @@ -39,9 +38,9 @@ func RegisterGroup(rg *gin.RouterGroup) { systemController.RoleRoute(rg) systemController.LogRoute(rg) - flow.FlowTemplateRoute(rg) - flow.FlowApplyRoute(rg) - flow.FlowHistoryRoute(rg) + FlowTemplateRoute(rg) + FlowApplyRoute(rg) + FlowHistoryRoute(rg) generator.RegisterGroup(rg) diff --git a/server/router/route.go b/server/router/route.go index 84dba51..41bc9ca 100644 --- a/server/router/route.go +++ b/server/router/route.go @@ -9,7 +9,7 @@ import ( "github.com/gin-gonic/gin" ) -func RegisterGroup(api *gin.RouterGroup, rootRouter *gin.Engine) { +func RegisterRoute(api *gin.RouterGroup, rootRouter *gin.Engine) { // /api/admin/apiList 获取所有接口 api.GET("/admin/apiList", middleware.TokenAuth(), func(ctx *gin.Context) { @@ -22,7 +22,7 @@ func RegisterGroup(api *gin.RouterGroup, rootRouter *gin.Engine) { }) // /api/admin - admin.RegisterGroup(api) + admin.RegisterRoute(api) // /api/common/captcha 验证码 - captcha.CaptchaRoute(api) + captcha.RegisterRoute(api) } diff --git a/server/admin/flow/flow_apply/flow_apply_schema.go b/server/schema/flowSchema/flow_apply_schema.go similarity index 99% rename from server/admin/flow/flow_apply/flow_apply_schema.go rename to server/schema/flowSchema/flow_apply_schema.go index 66ea8ca..9b4cc03 100644 --- a/server/admin/flow/flow_apply/flow_apply_schema.go +++ b/server/schema/flowSchema/flow_apply_schema.go @@ -1,4 +1,4 @@ -package flow_apply +package flowSchema import "x_admin/core" diff --git a/server/admin/flow/flow_history/flow_history_schema.go b/server/schema/flowSchema/flow_history_schema.go similarity index 99% rename from server/admin/flow/flow_history/flow_history_schema.go rename to server/schema/flowSchema/flow_history_schema.go index a676cff..dc7ddd2 100644 --- a/server/admin/flow/flow_history/flow_history_schema.go +++ b/server/schema/flowSchema/flow_history_schema.go @@ -1,4 +1,4 @@ -package flow_history +package flowSchema import "x_admin/core" diff --git a/server/admin/flow/flow_template/flow_template_schema.go b/server/schema/flowSchema/flow_template_schema.go similarity index 99% rename from server/admin/flow/flow_template/flow_template_schema.go rename to server/schema/flowSchema/flow_template_schema.go index 7ecb396..3cabbe1 100644 --- a/server/admin/flow/flow_template/flow_template_schema.go +++ b/server/schema/flowSchema/flow_template_schema.go @@ -1,4 +1,4 @@ -package flow_template +package flowSchema //FlowTemplateListReq 流程模板列表参数 type FlowTemplateListReq struct { diff --git a/server/admin/monitor_client/monitor_client_schema.go b/server/schema/monitorSchema/monitor_client_schema.go similarity index 99% rename from server/admin/monitor_client/monitor_client_schema.go rename to server/schema/monitorSchema/monitor_client_schema.go index c3cd676..90a7177 100644 --- a/server/admin/monitor_client/monitor_client_schema.go +++ b/server/schema/monitorSchema/monitor_client_schema.go @@ -1,4 +1,4 @@ -package monitor_client +package monitorSchema import ( "x_admin/core" diff --git a/server/admin/monitor_error_list/monitor_error_list_schema.go b/server/schema/monitorSchema/monitor_error_list_schema.go similarity index 94% rename from server/admin/monitor_error_list/monitor_error_list_schema.go rename to server/schema/monitorSchema/monitor_error_list_schema.go index 7563053..6ed797c 100644 --- a/server/admin/monitor_error_list/monitor_error_list_schema.go +++ b/server/schema/monitorSchema/monitor_error_list_schema.go @@ -1,4 +1,4 @@ -package monitor_error_list +package monitorSchema import ( "x_admin/core" diff --git a/server/admin/monitor_error/monitor_error_schema.go b/server/schema/monitorSchema/monitor_error_schema.go similarity index 98% rename from server/admin/monitor_error/monitor_error_schema.go rename to server/schema/monitorSchema/monitor_error_schema.go index ac4cad4..d7a2188 100644 --- a/server/admin/monitor_error/monitor_error_schema.go +++ b/server/schema/monitorSchema/monitor_error_schema.go @@ -1,4 +1,4 @@ -package monitor_error +package monitorSchema import ( "x_admin/core" diff --git a/server/schema/monitorSchema/monitor_project_schema.go b/server/schema/monitorSchema/monitor_project_schema.go new file mode 100644 index 0000000..df7630c --- /dev/null +++ b/server/schema/monitorSchema/monitor_project_schema.go @@ -0,0 +1,60 @@ +package monitorSchema + +import ( + "x_admin/core" +) + +// MonitorProjectListReq 监控项目列表参数 +type MonitorProjectListReq struct { + ProjectKey *string // 项目uuid + ProjectName *string // 项目名称 + ProjectType *string // 项目类型go java web node php 等 + Status *int // 是否启用: 0=否, 1=是 + CreateTimeStart *string // 开始创建时间 + CreateTimeEnd *string // 结束创建时间 + UpdateTimeStart *string // 开始更新时间 + UpdateTimeEnd *string // 结束更新时间 +} + +// MonitorProjectAddReq 监控项目新增参数 +type MonitorProjectAddReq struct { + ProjectKey *string // 项目uuid + ProjectName *string // 项目名称 + ProjectType *string // 项目类型go java web node php 等 + Status core.NullInt // 是否启用: 0=否, 1=是 +} + +// MonitorProjectEditReq 监控项目编辑参数 +type MonitorProjectEditReq struct { + Id int // 项目id + ProjectKey *string // 项目uuid + ProjectName *string // 项目名称 + ProjectType *string // 项目类型go java web node php 等 + Status core.NullInt // 是否启用: 0=否, 1=是 +} + +// MonitorProjectDetailReq 监控项目详情参数 +type MonitorProjectDetailReq struct { + Id int // 项目id +} + +// MonitorProjectDelReq 监控项目删除参数 +type MonitorProjectDelReq struct { + Id int // 项目id +} + +// MonitorProjectDelReq 监控项目批量删除参数 +type MonitorProjectDelBatchReq struct { + Ids string +} + +// MonitorProjectResp 监控项目返回信息 +type MonitorProjectResp struct { + Id int // 项目id + ProjectKey string // 项目uuid + ProjectName string // 项目名称 + ProjectType string // 项目类型go java web node php 等 + Status core.NullInt // 是否启用: 0=否, 1=是 + CreateTime core.NullTime // 创建时间 + UpdateTime core.NullTime // 更新时间 +} diff --git a/server/admin/flow/flow_apply/flow_apply_service.go b/server/service/flowService/flow_apply_service.go similarity index 91% rename from server/admin/flow/flow_apply/flow_apply_service.go rename to server/service/flowService/flow_apply_service.go index 9de3a9e..ff2c56d 100644 --- a/server/admin/flow/flow_apply/flow_apply_service.go +++ b/server/service/flowService/flow_apply_service.go @@ -1,27 +1,20 @@ -package flow_apply +package flowService import ( "errors" - "x_admin/admin/flow/flow_template" + "x_admin/core" "x_admin/core/request" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/flowSchema" "x_admin/util" "x_admin/util/convert_util" "gorm.io/gorm" ) -type IFlowApplyService interface { - List(page request.PageReq, listReq FlowApplyListReq) (res response.PageResp, e error) - Detail(id int) (res FlowApplyResp, e error) - Add(addReq FlowApplyAddReq) (e error) - Edit(editReq FlowApplyEditReq) (e error) - Del(id int) (e error) -} - -var Service = NewFlowApplyService() +var ApplyService = NewFlowApplyService() // NewFlowApplyService 初始化 func NewFlowApplyService() *flowApplyService { @@ -108,7 +101,7 @@ func (service flowApplyService) Detail(id int) (res FlowApplyResp, e error) { // Add 申请流程新增 func (service flowApplyService) Add(addReq FlowApplyAddReq) (e error) { var obj model.FlowApply - var flow_template_resp, err = flow_template.Service.Detail(addReq.TemplateId) + var flow_template_resp, err = TemplateService.Detail(addReq.TemplateId) if e = response.CheckErrDBNotRecord(err, "模板不存在!"); e != nil { return } diff --git a/server/admin/flow/flow_history/flow_history_service.go b/server/service/flowService/flow_history_service.go similarity index 98% rename from server/admin/flow/flow_history/flow_history_service.go rename to server/service/flowService/flow_history_service.go index e16af5e..776474a 100644 --- a/server/admin/flow/flow_history/flow_history_service.go +++ b/server/service/flowService/flow_history_service.go @@ -1,16 +1,17 @@ -package flow_history +package flowService import ( "encoding/json" "errors" "fmt" "strconv" - "x_admin/admin/flow/flow_apply" + "x_admin/core" "x_admin/core/request" "x_admin/core/response" "x_admin/model" "x_admin/model/system_model" + . "x_admin/schema/flowSchema" "x_admin/schema/systemSchema" "x_admin/service/systemService" "x_admin/util" @@ -19,7 +20,7 @@ import ( "gorm.io/gorm" ) -var Service = NewFlowHistoryService() +var HistoryService = NewFlowHistoryService() // NewFlowHistoryService 初始化 func NewFlowHistoryService() *flowHistoryService { @@ -376,7 +377,7 @@ func (service flowHistoryService) Back(back BackReq) (e error) { // 驳回到申请人,最后一条改驳回状态,驳回备注,新加一条 if back.HistoryId == 0 { - var applyDetail, err = flow_apply.Service.Detail(back.ApplyId) + var applyDetail, err = ApplyService.Detail(back.ApplyId) if err != nil { return err } @@ -465,8 +466,8 @@ func (service flowHistoryService) Back(back BackReq) (e error) { /** * 获取下一批流程,直到审批或结束节点 */ -func (service flowHistoryService) GetNextNode(ApplyId int) (res []FlowTree, apply flow_apply.FlowApplyResp, LastHistory model.FlowHistory, e error) { - var applyDetail, err = flow_apply.Service.Detail(ApplyId) +func (service flowHistoryService) GetNextNode(ApplyId int) (res []FlowTree, apply FlowApplyResp, LastHistory model.FlowHistory, e error) { + var applyDetail, err = ApplyService.Detail(ApplyId) if e = response.CheckErr(err, "获取审批申请失败"); e != nil { return diff --git a/server/admin/flow/flow_template/flow_template_service.go b/server/service/flowService/flow_template_service.go similarity index 90% rename from server/admin/flow/flow_template/flow_template_service.go rename to server/service/flowService/flow_template_service.go index fa42f8d..9e85543 100644 --- a/server/admin/flow/flow_template/flow_template_service.go +++ b/server/service/flowService/flow_template_service.go @@ -1,25 +1,17 @@ -package flow_template +package flowService import ( "x_admin/core" "x_admin/core/request" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/flowSchema" "x_admin/util/convert_util" "gorm.io/gorm" ) -type IFlowTemplateService interface { - List(page request.PageReq, listReq FlowTemplateListReq) (res response.PageResp, e error) - ListAll() (res []FlowTemplateResp, e error) - Detail(id int) (res FlowTemplateResp, e error) - Add(addReq FlowTemplateAddReq) (e error) - Edit(editReq FlowTemplateEditReq) (e error) - Del(id int) (e error) -} - -var Service = NewFlowTemplateService() +var TemplateService = NewFlowTemplateService() // NewFlowTemplateService 初始化 func NewFlowTemplateService() *flowTemplateService { diff --git a/server/admin/monitor_client/monitor_client_service.go b/server/service/monitorService/monitor_client_service.go similarity index 90% rename from server/admin/monitor_client/monitor_client_service.go rename to server/service/monitorService/monitor_client_service.go index 6628cdc..0726a58 100644 --- a/server/admin/monitor_client/monitor_client_service.go +++ b/server/service/monitorService/monitor_client_service.go @@ -1,4 +1,4 @@ -package monitor_client +package monitorService import ( "errors" @@ -6,6 +6,7 @@ import ( "x_admin/core/request" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/monitorSchema" "x_admin/util" "x_admin/util/convert_util" "x_admin/util/excel2" @@ -14,22 +15,22 @@ import ( ) var MonitorClientService = NewMonitorClientService() -var cacheUtil = util.CacheUtil{ - Name: MonitorClientService.Name, -} // NewMonitorClientService 初始化 func NewMonitorClientService() *monitorClientService { return &monitorClientService{ - db: core.GetDB(), - Name: "monitorClient", + db: core.GetDB(), + CacheUtil: util.CacheUtil{ + Name: "monitorClient", + }, } } // monitorClientService 监控-客户端信息服务实现类 type monitorClientService struct { - db *gorm.DB - Name string + db *gorm.DB + Name string + CacheUtil util.CacheUtil } // List 监控-客户端信息列表 @@ -132,7 +133,7 @@ func (service monitorClientService) DetailByClientId(ClientId string) (res Monit return res, errors.New("ClientId不能为空") } var obj = model.MonitorClient{} - err := cacheUtil.GetCache("ClientId:"+ClientId, &obj) + err := service.CacheUtil.GetCache("ClientId:"+ClientId, &obj) if err != nil { err := service.db.Where("client_id = ?", ClientId).Order("id DESC").Limit(1).First(&obj).Error if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { @@ -141,8 +142,8 @@ func (service monitorClientService) DetailByClientId(ClientId string) (res Monit if e = response.CheckErr(err, "获取详情失败"); e != nil { return } - cacheUtil.SetCache(obj.Id, obj) - cacheUtil.SetCache("ClientId:"+obj.ClientId, obj) + service.CacheUtil.SetCache(obj.Id, obj) + service.CacheUtil.SetCache("ClientId:"+obj.ClientId, obj) } convert_util.Copy(&res, obj) @@ -152,7 +153,7 @@ func (service monitorClientService) DetailByClientId(ClientId string) (res Monit // Detail 监控-客户端信息详情 func (service monitorClientService) Detail(Id int) (res MonitorClientResp, e error) { var obj = model.MonitorClient{} - err := cacheUtil.GetCache(Id, &obj) + err := service.CacheUtil.GetCache(Id, &obj) if err != nil { err := service.db.Where("id = ?", Id).Limit(1).First(&obj).Error if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { @@ -161,8 +162,8 @@ func (service monitorClientService) Detail(Id int) (res MonitorClientResp, e err if e = response.CheckErr(err, "获取详情失败"); e != nil { return } - cacheUtil.SetCache(obj.Id, obj) - cacheUtil.SetCache("ClientId:"+obj.ClientId, obj) + service.CacheUtil.SetCache(obj.Id, obj) + service.CacheUtil.SetCache("ClientId:"+obj.ClientId, obj) } convert_util.Copy(&res, obj) return @@ -186,8 +187,8 @@ func (service monitorClientService) Add(addReq MonitorClientAddReq) (createId in if e != nil { return 0, e } - cacheUtil.SetCache(obj.Id, obj) - cacheUtil.SetCache("ClientId:"+obj.ClientId, obj) + service.CacheUtil.SetCache(obj.Id, obj) + service.CacheUtil.SetCache("ClientId:"+obj.ClientId, obj) createId = obj.Id return } @@ -206,8 +207,8 @@ func (service monitorClientService) Del(Id int) (e error) { // 删除 err = service.db.Delete(&obj).Error e = response.CheckErr(err, "删除失败") - cacheUtil.RemoveCache(obj.Id) - cacheUtil.RemoveCache("ClientId:" + obj.ClientId) + service.CacheUtil.RemoveCache(obj.Id) + service.CacheUtil.RemoveCache("ClientId:" + obj.ClientId) return } @@ -233,8 +234,8 @@ func (service monitorClientService) DelBatch(Ids []string) (e error) { } // 删除缓存 - cacheUtil.RemoveCache(Ids) - cacheUtil.RemoveCache(Clients) + service.CacheUtil.RemoveCache(Ids) + service.CacheUtil.RemoveCache(Clients) return nil } diff --git a/server/admin/monitor_error_list/monitor_error_list_service.go b/server/service/monitorService/monitor_error_list_service.go similarity index 93% rename from server/admin/monitor_error_list/monitor_error_list_service.go rename to server/service/monitorService/monitor_error_list_service.go index 4ca936b..1dc02a4 100644 --- a/server/admin/monitor_error_list/monitor_error_list_service.go +++ b/server/service/monitorService/monitor_error_list_service.go @@ -1,9 +1,10 @@ -package monitor_error_list +package monitorService import ( "x_admin/core" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/monitorSchema" "x_admin/util/convert_util" "gorm.io/gorm" diff --git a/server/admin/monitor_error/monitor_error_service.go b/server/service/monitorService/monitor_error_service.go similarity index 96% rename from server/admin/monitor_error/monitor_error_service.go rename to server/service/monitorService/monitor_error_service.go index b9a9a78..b0da4a3 100644 --- a/server/admin/monitor_error/monitor_error_service.go +++ b/server/service/monitorService/monitor_error_service.go @@ -1,14 +1,14 @@ -package monitor_error +package monitorService import ( "errors" "strconv" - "x_admin/admin/monitor_client" - "x_admin/admin/monitor_error_list" + "x_admin/core" "x_admin/core/request" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/monitorSchema" "x_admin/util" "x_admin/util/convert_util" "x_admin/util/excel2" @@ -174,12 +174,12 @@ func (service monitorErrorService) Add(addReq MonitorErrorAddReq) (createId int, } else { createId = errorDetails.Id } - client, err := monitor_client.MonitorClientService.DetailByClientId(addReq.ClientId) + client, err := MonitorClientService.DetailByClientId(addReq.ClientId) if err != nil { return 0, err } - _, err = monitor_error_list.MonitorErrorListService.Add(monitor_error_list.MonitorErrorListAddReq{ + _, err = MonitorErrorListService.Add(MonitorErrorListAddReq{ Eid: strconv.Itoa(createId), Cid: strconv.Itoa(client.Id), // ClientId: addReq.ClientId, diff --git a/server/admin/monitor_project/monitor_project_service.go b/server/service/monitorService/monitor_project_service.go similarity index 93% rename from server/admin/monitor_project/monitor_project_service.go rename to server/service/monitorService/monitor_project_service.go index 0c817c2..4b63b49 100644 --- a/server/admin/monitor_project/monitor_project_service.go +++ b/server/service/monitorService/monitor_project_service.go @@ -1,10 +1,11 @@ -package monitor_project +package monitorService import ( "x_admin/core" "x_admin/core/request" "x_admin/core/response" "x_admin/model" + . "x_admin/schema/monitorSchema" "x_admin/util" "x_admin/util/convert_util" "x_admin/util/excel2" @@ -13,22 +14,22 @@ import ( ) var MonitorProjectService = NewMonitorProjectService() -var cacheUtil = util.CacheUtil{ - Name: MonitorProjectService.Name, -} // NewMonitorProjectService 初始化 func NewMonitorProjectService() *monitorProjectService { return &monitorProjectService{ - db: core.GetDB(), - Name: "monitorProject", + db: core.GetDB(), + CacheUtil: util.CacheUtil{ + Name: "monitorProject", + }, } } // monitorProjectService 监控项目服务实现类 type monitorProjectService struct { - db *gorm.DB - Name string + db *gorm.DB + Name string + CacheUtil util.CacheUtil } // List 监控项目列表 @@ -108,7 +109,7 @@ func (service monitorProjectService) ListAll(listReq MonitorProjectListReq) (res // Detail 监控项目详情 func (service monitorProjectService) Detail(Id int) (res MonitorProjectResp, e error) { var obj = model.MonitorProject{} - err := cacheUtil.GetCache(Id, &obj) + err := service.CacheUtil.GetCache(Id, &obj) if err != nil { err := service.db.Where("id = ? AND is_delete = ?", Id, 0).Limit(1).First(&obj).Error if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { @@ -117,7 +118,7 @@ func (service monitorProjectService) Detail(Id int) (res MonitorProjectResp, e e if e = response.CheckErr(err, "获取详情失败"); e != nil { return } - cacheUtil.SetCache(obj.Id, obj) + service.CacheUtil.SetCache(obj.Id, obj) } convert_util.Copy(&res, obj) @@ -134,7 +135,7 @@ func (service monitorProjectService) Add(addReq MonitorProjectAddReq) (createId if e != nil { return 0, e } - cacheUtil.SetCache(obj.Id, obj) + service.CacheUtil.SetCache(obj.Id, obj) createId = obj.Id return } @@ -156,7 +157,7 @@ func (service monitorProjectService) Edit(editReq MonitorProjectEditReq) (e erro if e = response.CheckErr(err, "编辑失败"); e != nil { return } - cacheUtil.RemoveCache(obj.Id) + service.CacheUtil.RemoveCache(obj.Id) service.Detail(obj.Id) return } @@ -177,7 +178,7 @@ func (service monitorProjectService) Del(Id int) (e error) { obj.DeleteTime = util.NullTimeUtil.Now() err = service.db.Save(&obj).Error e = response.CheckErr(err, "删除失败") - cacheUtil.RemoveCache(obj.Id) + service.CacheUtil.RemoveCache(obj.Id) return } @@ -190,9 +191,9 @@ func (service monitorProjectService) DelBatch(Ids []string) (e error) { } // 删除缓存 // for _, v := range Ids { - // cacheUtil.RemoveCache(v) + // service.CacheUtil.RemoveCache(v) // } - cacheUtil.RemoveCache(Ids) + service.CacheUtil.RemoveCache(Ids) return nil }