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.

69 lines
2.9 KiB

3 years ago
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.iteaj.iboot.msn.core.mapper.IRoleDao">
  6. <resultMap type="com.iteaj.iboot.msn.core.entity.Role" id="OriMap">
  7. <id property="id" column="id" />
  8. <result property="name" column="name" />
  9. <result property="sort" column="sort" />
  10. <result property="status" column="status" />
  11. <result property="remark" column="remark" />
  12. <result property="createTime" column="create_time" />
  13. <result property="updateTime" column="update_time" />
  14. </resultMap>
  15. <resultMap id="JoinRoleMenuMap" type="com.iteaj.iboot.msn.core.dto.RoleDto" extends="OriMap">
  16. <collection property="menuIds" ofType="long">
  17. <!-- <result property="menuIds" column="mid" />-->
  18. </collection>
  19. </resultMap>
  20. <insert id="createRoleAndPerms">
  21. insert into sys_role (name, status, remark, sort) value
  22. (#{name},#{status},#{remark}, #{sort});
  23. set @lastId=LAST_INSERT_ID();
  24. <if test="menuIds != null and menuIds.size() > 0">
  25. insert into sys_role_menu (rid,mid) values
  26. <foreach collection="menuIds" item="item" separator=",">
  27. (@lastId, #{item})
  28. </foreach>
  29. </if>
  30. </insert>
  31. <update id="updateRolePermsById">
  32. <if test="menuIds != null">
  33. delete from sys_role_menu where rid=#{id};
  34. insert into sys_role_menu (rid,mid) values
  35. <foreach collection="menuIds" item="item" separator=",">
  36. (#{id}, #{item})
  37. </foreach>
  38. </if>
  39. </update>
  40. <delete id="deleteAllJoinByIds">
  41. delete from sys_role where id in (
  42. <foreach collection="list" item="item" separator=",">
  43. #{item}
  44. </foreach>);
  45. delete from sys_role_menu where rid in (
  46. <foreach collection="list" item="item" separator=",">
  47. #{item}
  48. </foreach>
  49. );
  50. </delete>
  51. <select id="joinRoleMenuById" resultMap="JoinRoleMenuMap">
  52. select a.*, rm.mid mid,rm.rid aid from sys_role a
  53. left join sys_role_menu rm on a.id = rm.rid
  54. where a.id=#{id}
  55. </select>
  56. <select id="selectByAdminId" resultType="java.lang.Long">
  57. select rid from sys_admin_role where aid=#{id}
  58. </select>
  59. <!-- 获取指定角色下面的菜单列表(权限) -->
  60. <select id="listMenusOfRole" resultType="java.lang.Long">
  61. select rm.mid from sys_role a left join sys_role_menu rm on a.id = rm.rid where a.id=#{id}
  62. </select>
  63. <!-- 获取指定角色绑定的管理员 -->
  64. <select id="listBindAdminOfRole" resultType="java.lang.Long">
  65. select ar.aid from sys_role a left join sys_admin_role ar on a.id = ar.rid
  66. where a.id=#{id} and ar.aid is not null
  67. </select>
  68. </mapper>