35 lines
1.5 KiB
XML
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>
|