You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.2 KiB

6 months ago
<?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.dongjian.dashboard.back.dao.ex.BasicRoleMenuRelationMapperExt">
<insert id="batchInsert">
INSERT INTO
basic_role_menu_relation (role_id, menu_id, creator_id, create_time)
VALUES
<foreach collection="menuIds" item="item" index="index" separator=",">
(#{roleId}, #{item}, #{creatorId}, #{createTime})
</foreach>
</insert>
<select id="getMenuIdsByRoleId" resultType="java.lang.String">
SELECT
GROUP_CONCAT(bmenu.id)
FROM
basic_role_menu_relation brmr
INNER JOIN basic_menu bmenu ON bmenu.id = brmr.menu_id
WHERE
bmenu.flag != 1 AND brmr.role_id = #{roleId} AND bmenu.used_by_dashboard = 1
</select>
<delete id="deleteDashboardRelation">
DELETE r
FROM
basic_role_menu_relation r INNER JOIN basic_menu m ON r.menu_id = m.id
WHERE
r.role_id = #{roleId} AND m.used_by_dashboard = 1
</delete>
<select id="selectAllMenu" resultType="com.dongjian.dashboard.back.vo.role.DashboardTreeMenusDTO">
SELECT
bmenu.`id` AS `menuId`,
bmenu.parent_menu_id AS parentMenuId,
bmenu.menu_name AS title,
bmenu.dashboard_lowest_node AS dashboardLowestNode
FROM
basic_menu bmenu
<if test="superRole != null and superRole == 0">
inner join basic_role_menu_relation_dashboard brmrd on bmenu.id = brmrd.menu_id and brmrd.role_id = #{roleId}
</if>
WHERE
bmenu.flag = 0 AND bmenu.used_by_dashboard = 1
</select>
<select id="selectByRoleId" resultType="com.dongjian.dashboard.back.vo.role.RoleMenuPermissionEntity">
SELECT
role_id,
menu_id,
permission_type,
create_time
FROM basic_role_menu_relation_dashboard
WHERE role_id = #{roleId}
</select>
<delete id="deleteByRoleId">
DELETE FROM basic_role_menu_relation_dashboard
WHERE role_id = #{roleId}
</delete>
<insert id="dashboardBatchInsert">
INSERT INTO basic_role_menu_relation_dashboard (role_id, menu_id, permission_type, create_time)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.roleId},
#{item.menuId},
#{item.permissionType},
#{item.createTime})
</foreach>
</insert>
<select id="getRoleIdByUserId" resultType="long">
SELECT role_id
FROM basic_role_user_relation
WHERE user_id = #{userId}
LIMIT 1
</select>
<select id="getMenuIdListByRoleId" resultType="com.dongjian.dashboard.back.vo.role.RoleMenuPermissionEntity">
SELECT
brmrd.role_id,
brmrd.menu_id,
brmrd.permission_type,
brmrd.create_time
FROM
basic_role_menu_relation_dashboard brmrd
INNER JOIN basic_menu bmenu ON bmenu.id = brmrd.menu_id
WHERE
bmenu.flag != 1 AND brmrd.role_id = #{roleId} AND bmenu.used_by_dashboard = 1
</select>
6 months ago
</mapper>