From 955e92f7819b70da824a2477126de4068ffd3f86 Mon Sep 17 00:00:00 2001 From: PandaX <18610165312@163.com> Date: Wed, 6 Dec 2023 12:19:40 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E6=9D=83=E9=99=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/system/services/role.go | 6 +++++- config.yml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/system/services/role.go b/apps/system/services/role.go index 6b93c2b..1acd4ad 100644 --- a/apps/system/services/role.go +++ b/apps/system/services/role.go @@ -134,6 +134,10 @@ func (m *sysRoleModel) GetRoleOrganizationId(data entity.SysRole) []int64 { func (m *sysRoleModel) FindOrganizationsByRoleId(roleId int64) (entity.SysRoleAuth, error) { var roleData entity.SysRoleAuth - err := global.Db.Raw("SELECT sys_roles.data_scope, GROUP_CONCAT(sys_role_organizations.organization_id) as org FROM sys_roles LEFT JOIN sys_role_organizations ON sys_roles.role_id = sys_role_organizations.role_id WHERE sys_roles.role_id = ? GROUP BY sys_roles.role_id", roleId).Scan(&roleData).Error + GROUP_CONCAT := "GROUP_CONCAT(sys_role_organizations.organization_id) as org" + if global.Conf.Server.DbType == "postgresql" { + GROUP_CONCAT = "string_agg(CAST(sys_role_organizations.organization_id AS VARCHAR), ',') as org" + } + err := global.Db.Raw("SELECT sys_roles.data_scope, "+GROUP_CONCAT+" FROM sys_roles LEFT JOIN sys_role_organizations ON sys_roles.role_id = sys_role_organizations.role_id WHERE sys_roles.role_id = ? GROUP BY sys_roles.role_id", roleId).Scan(&roleData).Error return roleData, err } diff --git a/config.yml b/config.yml index d010041..4e183b4 100644 --- a/config.yml +++ b/config.yml @@ -15,7 +15,7 @@ server: rate: enable: true rate-num: 100 - db-type: mysql + db-type: postgresql # 是否开启数据库表初始化 isInitTable: false excel-dir: ./resource/excel/