rax-remote-2/upms/upms-biz/src/main/resources/mapper/SysRoleMapper.xml

69 lines
2.3 KiB
XML
Raw Normal View History

2024-01-31 16:31:50 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2024-02-21 11:47:40 +08:00
<mapper namespace="com.rax.admin.mapper.SysRoleMapper">
2024-01-31 16:31:50 +08:00
<!-- 通用查询映射结果 -->
2024-02-21 11:47:40 +08:00
<resultMap id="BaseResultMap" type="com.rax.admin.api.entity.SysRole">
2024-01-31 16:31:50 +08:00
<id column="role_id" property="roleId"/>
<result column="role_name" property="roleName"/>
<result column="role_code" property="roleCode"/>
<result column="role_desc" property="roleDesc"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="del_flag" property="delFlag"/>
</resultMap>
<!-- 通过用户ID查询角色信息-->
<select id="listRolesByUserId" resultMap="BaseResultMap">
SELECT sys_role.role_id,
sys_role.role_name,
sys_role.role_code,
sys_role.role_desc,
sys_role.create_time,
sys_role.update_time,
sys_role.del_flag
FROM sys_role,
sys_user_role
WHERE sys_role.role_id = sys_user_role.role_id
AND sys_role.del_flag = '0'
and sys_user_role.user_id = #{userId}
</select>
2024-04-25 19:05:39 +08:00
2024-04-26 18:54:32 +08:00
<select id="getRoleTree" resultType="map">
select r.role_id "roleId",
r.role_name "roleName",
r.role_code "roleCode",
r.role_desc "roleDesc",
r.create_time "createTime",
r.update_time "updateTime",
GROUP_CONCAT(m.`name`) "menu"
2024-04-25 19:05:39 +08:00
from sys_role r
left join
sys_role_menu rm on r.role_id = rm.role_id
left join
sys_menu m on m.menu_id = rm.menu_id
where r.del_flag = 0
<if test="roleName != null and roleName != ''">
<bind name="bindName" value="'%' + roleName + '%'"/>
2024-04-26 18:54:32 +08:00
and r.role_name like #{bindName}
2024-04-25 19:05:39 +08:00
</if>
GROUP BY r.role_id
2024-04-26 18:54:32 +08:00
ORDER BY r.create_time desc
</select>
<select id="getTotal" resultType="integer">
select count(*)
from (select GROUP_CONCAT(m.`name`) as menu
from sys_role r
left join
sys_role_menu rm on r.role_id = rm.role_id
left join
sys_menu m on m.menu_id = rm.menu_id
where r.del_flag = 0
<if test="roleName != null and roleName != ''">
<bind name="bindName" value="'%' + roleName + '%'"/>
and r.role_name like #{bindName}
</if>
GROUP BY r.role_id) a
2024-04-25 19:05:39 +08:00
</select>
2024-01-31 16:31:50 +08:00
</mapper>