Files
2023-05-12 17:21:44 +08:00

35 lines
1.5 KiB
XML

<?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">
<mapper namespace="com.qiaoba.module.system.mapper.SysMenuMapper">
<select id="checkMenuNameUnique" parameterType="com.qiaoba.api.system.entity.SysMenu" resultType="int">
select count(1) from sys_menu
where menu_name= #{menuName} and parent_id = #{parentId}
<if test="menuId != null">
and menu_id != #{menuId}
</if>
limit 1
</select>
<select id="selectMenuIdsByRoleId" resultType="string">
select m.menu_id
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
where rm.role_id = #{roleId}
order by m.parent_id, m.order_num
</select>
<select id="selectByUserId" resultType="com.qiaoba.api.system.entity.vo.SysMenuVo">
select distinct t1.menu_id, t1.parent_id, t1.menu_name, t1.path, t1.component, t1.`query`, t1.is_visible, t1.perms, t1.is_frame, t1.is_cache, t1.menu_type, t1.icon, t1.order_num, t1.create_time
from sys_menu t1
left join sys_role_menu t2 on t1.menu_id = t2.menu_id
left join sys_user_role t3 on t2.role_id = t3.role_id
left join sys_role t4 on t3.role_id = t4.role_id
left join sys_user t5 on t3.user_id = t5.user_id
where t5.user_id = #{userId} and t1.menu_type in ('M', 'C') AND t4.status = '1'
order by t1.parent_id, t1.order_num
</select>
</mapper>