<?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="cc.mrbird.febs.system.mapper.MenuMapper">
|
<resultMap id="menu" type="cc.mrbird.febs.system.entity.Menu">
|
<id column="MENU_ID" jdbcType="DECIMAL" property="menuId" />
|
<result column="PARENT_ID" jdbcType="DECIMAL" property="parentId" />
|
<result column="MENU_NAME" jdbcType="VARCHAR" property="menuName" />
|
<result column="URL" jdbcType="VARCHAR" property="url" />
|
<result column="PERMS" jdbcType="VARCHAR" property="perms" />
|
<result column="ICON" jdbcType="VARCHAR" property="icon" />
|
<result column="TYPE" jdbcType="CHAR" property="type" />
|
<result column="ORDER_NUM" jdbcType="DECIMAL" property="orderNum" />
|
<result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
|
<result column="MODIFY_TIME" jdbcType="TIMESTAMP" property="modifyTime" />
|
</resultMap>
|
|
<select id="findUserPermissions" resultMap="menu">
|
SELECT
|
m.perms
|
FROM
|
t_role r
|
LEFT JOIN t_user_role ur ON (r.role_id = ur.role_id)
|
LEFT JOIN t_user u ON (u.user_id = ur.user_id)
|
LEFT JOIN t_role_menu rm ON (rm.role_id = r.role_id)
|
LEFT JOIN t_menu m ON (m.menu_id = rm.menu_id)
|
WHERE
|
u.username = #{username}
|
AND m.perms is not null
|
AND m.perms <> ''
|
</select>
|
|
<select id="findUserMenus" resultMap="menu">
|
SELECT
|
m.*
|
FROM
|
t_menu m
|
WHERE
|
m.type <> 1
|
AND m.MENU_ID IN (
|
SELECT DISTINCT
|
rm.menu_id
|
FROM
|
t_role_menu rm
|
LEFT JOIN t_role r ON (rm.role_id = r.role_id)
|
LEFT JOIN t_user_role ur ON (ur.role_id = r.role_id)
|
LEFT JOIN t_user u ON (u.user_id = ur.user_id)
|
WHERE
|
u.username = #{username}
|
)
|
ORDER BY
|
m.order_num
|
</select>
|
</mapper>
|