From 8033565d5045324d6c9cb00c493ac06554c0f2ea Mon Sep 17 00:00:00 2001 From: HuangZhi Date: Wed, 5 Jul 2023 18:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BF=E9=97=AE=E8=A7=84=E5=88=99=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bean/vo/request/system_access_rule.go | 4 ++-- src/router/router.go | 2 ++ src/router/system_access_rule.go | 20 ++++---------------- src/router/systempreferencerouter.go | 11 ----------- src/service/system_access_rule.go | 14 ++++++-------- 5 files changed, 14 insertions(+), 37 deletions(-) diff --git a/src/bean/vo/request/system_access_rule.go b/src/bean/vo/request/system_access_rule.go index 71053c7..ee1716d 100644 --- a/src/bean/vo/request/system_access_rule.go +++ b/src/bean/vo/request/system_access_rule.go @@ -37,8 +37,8 @@ type ListAccessRuleReq struct { type ListRuleUserReq struct { Search string `json:"search" form:"search"` // 关键词搜索 Pagination - Id int `json:"id" form:"id"` // 账号 - IsAdmin int `json:"isAdmin" form:"isAdmin"` // 用户类型(1.业务系统账号 2.组织管理员账号 3.平台用户账号 4.超级管理员) + Id int `json:"id" form:"id"` // 账号 + //IsAdmin int `json:"isAdmin" form:"isAdmin"` // 用户类型(1.业务系统账号 2.组织管理员账号 3.平台用户账号 4.超级管理员) //Name string `json:"name" form:"name"` // 所属组织 OrganizationId string `json:"organizationId" form:"organizationId"` // 组织ID Disp int `json:"disp" form:"disp"` // 展示维度(0:展示访问规则已选用户,1:展示所有用户) diff --git a/src/router/router.go b/src/router/router.go index 8853f88..9506742 100644 --- a/src/router/router.go +++ b/src/router/router.go @@ -47,6 +47,8 @@ func Load(r *gin.Engine, middleware ...gin.HandlerFunc) { initDictRoute(r) // 首选项配置相关路由 InitPreferenceConfigRouter(r) + // 初始化访问控制管理路由 + InitAccessRuleRouter(r) // 初始化指标配置路由 InitMetricConfigRouter(r) // 初始化预警规则配置路由 diff --git a/src/router/system_access_rule.go b/src/router/system_access_rule.go index 29e16ce..537bd93 100644 --- a/src/router/system_access_rule.go +++ b/src/router/system_access_rule.go @@ -9,28 +9,16 @@ import ( "gitlab.wodcloud.com/smart-operation/so-operation-api/src/router/middleware/header" ) -// 初始化配置管理路由 +// 初始化访问控制管理路由 func InitAccessRuleRouter(e *gin.Engine) { - sys := e.Group(fmt.Sprintf("%s/sysOptions", conf.Options.Prefix), header.SetContext) - { - sys.GET("", controller.GetSystemOptions) // 获取系统首选项信息 - sys.POST("licenseOpts", controller.SetLicenseOptions) // 设置授权信息 - sys.POST("loginPageOpts", controller.SetLoginPageOptions) // 设置授权信息 - sys.POST("safeOpts", controller.SetSafeOptions) // 设置安全选项 - sys.POST("loginOpts", controller.SetLoginOptions) // 设置登录选项 - sys.GET("checkLicense", controller.CheckLicense) // 校验license是否有效 - sys.POST("reStartConfig", controller.ReStartConfig) // 一键还原受限 - sys.POST("getLicenseInfo", controller.GetLicenseInfo) // 获取license信息 - } - - rule := e.Group(fmt.Sprintf("%s/accessRole", conf.Options.Prefix), header.SetContext) + rule := e.Group(fmt.Sprintf("%s/accessRule", conf.Options.Prefix), header.SetContext) { rule.POST("addAccessRule", controller.AddAccessRule, header.AddLogMiddleware("访问规则管理", "/addAccessRule", constant.OpTypeIntMap[constant.Add])) // 新增访问规则 rule.PUT("updateAccessRule", controller.UpdateAccessRule, header.AddLogMiddleware("访问规则管理", "/updateAccessRule", constant.OpTypeIntMap[constant.Edit])) // 编辑访问规则 rule.DELETE("delAccessRule", controller.DelAccessRule, header.AddLogMiddleware("访问规则管理", "/delAccessRule", constant.OpTypeIntMap[constant.AllDelete])) // 删除访问规则 rule.GET("listAccessRule", controller.ListAccessRule, header.AddLogMiddleware("访问规则管理", "/listAccessRule", constant.OpTypeIntMap[constant.Find])) // 查询访问规则列表 - rule.GET("listRuleUser", controller.ListRuleUser) // 查询用户详情列表 - rule.PUT("updateState", controller.UpdateState) // 修改规则状态 + rule.GET("listRuleUser", controller.ListRuleUser) // 查询用户详情列表 + rule.PUT("updateState", controller.UpdateState) // 修改规则状态 } } diff --git a/src/router/systempreferencerouter.go b/src/router/systempreferencerouter.go index 86a48cc..b1ca51b 100644 --- a/src/router/systempreferencerouter.go +++ b/src/router/systempreferencerouter.go @@ -21,15 +21,4 @@ func InitPreferenceConfigRouter(e *gin.Engine) { sys.POST("reStartConfig", controller.ReStartConfig) // 一键还原受限 sys.POST("getLicenseInfo", controller.GetLicenseInfo) // 获取license信息 } - - //rule := v5.Group("/accessRule", header.SetUserToContext) - //{ - // rule.POST("addAccessRule", controller.AddAccessRule, log.AddLogMiddleware("访问规则管理", "/addAccessRule", constant.OpTypeIntMap[constant.Add])) // 新增访问规则 - // rule.PUT("updateAccessRule", controller.UpdateAccessRule, log.AddLogMiddleware("访问规则管理", "/updateAccessRule", constant.OpTypeIntMap[constant.Edit])) // 编辑访问规则 - // rule.DELETE("delAccessRule", controller.DelAccessRule, log.AddLogMiddleware("访问规则管理", "/delAccessRule", constant.OpTypeIntMap[constant.AllDelete])) // 删除访问规则 - // rule.GET("listAccessRule", controller.ListAccessRule, log.AddLogMiddleware("访问规则管理", "/listAccessRule", constant.OpTypeIntMap[constant.Find])) // 查询访问规则列表 - // rule.GET("listRuleUser", controller.ListRuleUser) // 查询用户详情列表 - // rule.PUT("updateState", controller.UpdateState) // 修改规则状态 - //} - } diff --git a/src/service/system_access_rule.go b/src/service/system_access_rule.go index af557c4..3398de2 100644 --- a/src/service/system_access_rule.go +++ b/src/service/system_access_rule.go @@ -237,27 +237,25 @@ func ListRuleUser(params *request.ListRuleUserReq) ([]response.SystemUserAccessR if params.Disp == 0 { //展示已选用户 - modelObj.Join("INNER", "\"system_user\" as su", "sru.system_id = su.system_id"). + modelObj.Join("INNER", "\"system_user\" as su", "sru.user_id = su.id"). Join("INNER", "system_organization as so", "su.organization_id = so.organization_id"). - Select("su.system_account,su.is_admin,su.phone,so.name,sru.system_id,0 as selected") + Select("su.system_account,su.phone,so.name,sru.user_id,0 as selected") modelObj.Where("sar.id = ?", params.Id) } else if params.Disp == 1 { //展示所有用户 - modelObj.Join("RIGHT", "\"system_user\" as su", "sru.system_id = su.system_id"). + modelObj.Join("RIGHT", "\"system_user\" as su", "sru.user_id = su.id"). Join("RIGHT", "system_organization as so", "su.organization_id = so.organization_id"). - Select("su.system_id,su.system_account,su.is_admin,su.phone,so.name," + fmt.Sprintf("( CASE WHEN sar.ID = %v THEN 1 ELSE 0 END ) AS selected", params.Id)) + Select("su.id as user_id,su.system_account,su.phone,so.name," + fmt.Sprintf("( CASE WHEN sar.ID = %v THEN 1 ELSE 0 END ) AS selected", params.Id)) } modelObj.Where("so.is_deleted = 0 and su.is_deleted = 0") if params.Search != "" { keyword := util.SpecialEscape(params.Search) - modelObj.Where("su.system_account ilike ? or su.phone ilike ?", "%"+keyword+"%", "%"+keyword+"%") - } - if params.IsAdmin != 0 { - modelObj.Where("su.is_admin = ?", params.IsAdmin) + modelObj.Where("su.system_account like ? or su.phone like ?", "%"+keyword+"%", "%"+keyword+"%") } + if params.OrganizationId != "" { modelObj.Where("so.organization_id = ?", params.OrganizationId) } -- 2.26.0