@@ -28,16 +28,29 @@
<result column= "role_scope" property= "roleScope" jdbcType= "VARCHAR" />
<result column= "role_owner_dept_id" property= "roleOwnerDeptId" jdbcType= "VARCHAR" />
<result column= "role_status" property= "roleStatus" jdbcType= "BOOLEAN" />
<!-- 模块字段 -->
<result column= "module_id" property= "moduleId" jdbcType= "VARCHAR" />
<result column= "module_name" property= "moduleName" jdbcType= "VARCHAR" />
<result column= "module_description" property= "moduleDescription" jdbcType= "VARCHAR" />
<!-- 权限字段 -->
<result column= "permission_id" property= "permissionId" jdbcType= "VARCHAR" />
<result column= "permission_name" property= "permissionName" jdbcType= "VARCHAR" />
<result column= "permission_code" property= "permissionCode" jdbcType= "VARCHAR" />
<result column= "permission_description" property= "permissionDescription" jdbcType= "VARCHAR" />
<result column= "permission_status" property= "permissionStatus" jdbcType= "VARCHAR " />
<!-- 模块关联 字段 -->
<result column= "module _id" property= "module Id" jdbcType= "VARCHAR" />
<result column= "module _name" property= "module Name" jdbcType= "VARCHAR" />
<result column= "module_description" property= "moduleDescription " jdbcType= "VARCHAR" />
<result column= "permission_status" property= "permissionStatus" jdbcType= "BOOLEAN " />
<!-- 视图 字段 -->
<result column= "view _id" property= "view Id" jdbcType= "VARCHAR" />
<result column= "view _name" property= "view Name" jdbcType= "VARCHAR" />
<result column= "view_parent_id" property= "viewParentId " jdbcType= "VARCHAR" />
<result column= "view_url" property= "viewUrl" jdbcType= "VARCHAR" />
<result column= "view_component" property= "viewComponent" jdbcType= "VARCHAR" />
<result column= "view_icon" property= "viewIcon" jdbcType= "VARCHAR" />
<result column= "view_type" property= "viewType" jdbcType= "INTEGER" />
<result column= "view_view_type" property= "viewViewType" jdbcType= "VARCHAR" />
<result column= "view_iframe_url" property= "viewIframeUrl" jdbcType= "VARCHAR" />
<result column= "view_layout" property= "viewLayout" jdbcType= "VARCHAR" />
<result column= "view_order_num" property= "viewOrderNum" jdbcType= "INTEGER" />
<result column= "view_description" property= "viewDescription" jdbcType= "VARCHAR" />
<!-- BaseVO 基础字段 -->
<result column= "optsn" property= "optsn" jdbcType= "VARCHAR" />
<result column= "creator" property= "creator" jdbcType= "VARCHAR" />
@@ -141,7 +154,7 @@
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
p.module_id, m.name AS module_name, m.description AS module_description,
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
FROM sys.tb_sys_role_permission rp
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
@@ -158,7 +171,7 @@
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
p.module_id, m.name AS module_name, m.description AS module_description,
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
FROM sys.tb_sys_role_permission rp
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
@@ -185,7 +198,7 @@
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
p.module_id, m.name AS module_name, m.description AS module_description,
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
FROM sys.tb_sys_role_permission rp
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
@@ -224,22 +237,76 @@
</where>
</select>
<!-- getPermissionsByUserId -->
<!-- 根据用户ID一次性查询该用户所有权限( 连表查询完整权限信息) -->
<select id= "getPermissionsByUserId" resultMap= "PermissionVOResultMap" >
SELECT p.permission_id AS permissionId,
p.name AS permissionName,
p.code AS permissionCode ,
p.description AS permissionDescription ,
p.dept_path AS deptPath ,
p.deleted AS deleted ,
p.module_id AS moduleId
SELECT DISTINCT
-- 角色字段
r.role_id ,
r.name AS role_name ,
r.description AS role_description ,
r.scope AS role_scope ,
r.owner_dept_id AS role_owner_dept_id,
r.status AS role_status,
-- 模块字段
m.module_id,
m.name AS module_name,
m.description AS module_description,
-- 权限字段
p.permission_id,
p.name AS permission_name,
p.code AS permission_code,
p.description AS permission_description,
p.status AS permission_status,
-- 视图字段
v.view_id,
v.name AS view_name,
v.parent_id AS view_parent_id,
v.url AS view_url,
v.component AS view_component,
v.icon AS view_icon,
v.type AS view_type,
v.view_type AS view_view_type,
v.iframe_url AS view_iframe_url,
v.layout AS view_layout,
v.order_num AS view_order_num,
v.description AS view_description,
-- 基础字段 (从role_permission表获取)
rp.optsn,
rp.creator,
rp.updater,
rp.dept_path,
rp.create_time,
rp.update_time,
rp.delete_time,
rp.deleted
FROM sys.tb_sys_user_role ur
JOIN sys.tb_sys_role_permission rp ON ur.role_id = rp.role_id
-- 关联角色表
JOIN sys.tb_sys_role r ON ur.role_id = r.role_id
AND (r.deleted IS NULL OR r.deleted = false)
AND r.status = true
-- 关联角色权限关系表
JOIN sys.tb_sys_role_permission rp ON r.role_id = rp.role_id
AND (rp.deleted IS NULL OR rp.deleted = false)
-- 关联权限表
JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id
AND (p.deleted IS NULL OR p.deleted = false)
AND p.status = true
-- 关联模块表
LEFT JOIN sys.tb_sys_module m ON p.module_id = m.module_id
AND (m.deleted IS NULL OR m.deleted = false)
-- 关联视图权限关系表
LEFT JOIN sys.tb_sys_view_permission vp ON p.permission_id = vp.permission_id
AND (vp.deleted IS NULL OR vp.deleted = false)
-- 关联视图表
LEFT JOIN sys.tb_sys_view v ON vp.view_id = v.view_id
AND (v.deleted IS NULL OR v.deleted = false)
WHERE ur.user_id = #{userId}
AND (p .deleted IS NULL OR p .deleted = false)
AND (rp.deleted IS NULL OR rp.deleted = false)
AND (ur .deleted IS NULL OR ur .deleted = false)
ORDER BY
m.module_id,
p.permission_id,
v.order_num NULLS LAST,
v.view_id
</select>
</mapper>