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.

98 lines
5.0 KiB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.xjfast.mapper.RoleMapper">
  4. <resultMap id="BaseResultMap" type="com.xjfast.entity.Role">
  5. <id column="id" jdbcType="INTEGER" property="id" />
  6. <result column="role_name" jdbcType="VARCHAR" property="roleName" />
  7. <result column="role_desc" jdbcType="VARCHAR" property="roleDesc" />
  8. <result column="created_by" jdbcType="VARCHAR" property="createdBy" />
  9. <result column="created_date" jdbcType="TIMESTAMP" property="createdDate" />
  10. <result column="updated_by" jdbcType="VARCHAR" property="updatedBy" />
  11. <result column="updated_date" jdbcType="TIMESTAMP" property="updatedDate" />
  12. <result column="status" jdbcType="CHAR" property="status" />
  13. </resultMap>
  14. <!-- 删除用户下的角色信息 -->
  15. <delete id="delUserRoleByUsername" parameterType="java.lang.String">
  16. DELETE FROM user_role WHERE username = #{username,jdbcType=VARCHAR}
  17. </delete>
  18. <!-- 查询用户的角色数据 -->
  19. <select id="getUserRolesByUsername" parameterType="java.lang.String" resultType="com.xjfast.entity.vo.UserRoleOutData">
  20. SELECT ur.username, ur.role_id, ur.created_by, ur.created_date
  21. FROM user_role ur WHERE ur.username = #{username,jdbcType=VARCHAR}
  22. </select>
  23. <!-- 批量插入用户和角色的关联表 -->
  24. <insert id="batchInsertUserRoles" parameterType="java.util.List">
  25. INSERT INTO user_role (username, role_id, created_by, created_date)
  26. VALUES
  27. <foreach collection="list" item="userRole" separator="," index="index">
  28. (#{userRole.username}, #{userRole.roleId}, #{userRole.createdBy}, #{userRole.createdDate})
  29. </foreach>
  30. </insert>
  31. <!-- 查询角色表数据 -->
  32. <select id="getRolesByCon" parameterType="com.xjfast.entity.dto.RoleInData" resultType="com.xjfast.entity.vo.RoleOutData">
  33. SELECT id, role_name, role_desc, created_by, created_date, updated_by, updated_date,
  34. status
  35. FROM role
  36. <where>
  37. <if test="roleName != null and roleName != ''"> AND role_name LIKE '%'+#{roleName}+'%'</if>
  38. <if test="status != 'ALL'"> AND status = #{status}</if>
  39. </where>
  40. </select>
  41. <!-- 获取所有的角色 -->
  42. <select id="getALLRolesByCon" resultType="com.xjfast.entity.vo.RoleOutData">
  43. SELECT id, role_name, role_desc, created_by, created_date, updated_by, updated_date,
  44. status
  45. FROM role
  46. </select>
  47. <!-- 新增一个角色 -->
  48. <insert id="insertRole" parameterType="com.xjfast.entity.dto.RoleInData" useGeneratedKeys="true" keyProperty="id">
  49. INSERT INTO role (role_name, role_desc, created_by, created_date, status)
  50. VALUES (#{roleName,jdbcType=VARCHAR}, #{roleDesc,jdbcType=VARCHAR}, #{createdBy,jdbcType=VARCHAR},
  51. #{createdDate,jdbcType=TIMESTAMP}, #{status,jdbcType=CHAR})
  52. </insert>
  53. <!-- 修改角色的属性值 -->
  54. <update id="updateRoleById" parameterType="com.xjfast.entity.dto.RoleInData">
  55. update role
  56. set role_name = #{roleName,jdbcType=VARCHAR},
  57. role_desc = #{roleDesc,jdbcType=VARCHAR},
  58. updated_by = #{updatedBy,jdbcType=VARCHAR},
  59. updated_date = #{updatedDate,jdbcType=TIMESTAMP},
  60. status = #{status,jdbcType=CHAR}
  61. WHERE id = #{id,jdbcType=INTEGER}
  62. </update>
  63. <!-- 查询用户的关联角色的数量 -->
  64. <select id="countRoleUser" parameterType="java.lang.Integer" resultType="java.lang.Integer">
  65. SELECT COUNT(1) FROM user_role WHERE role_id = #{id,jdbcType=INTEGER}
  66. </select>
  67. <!-- 删除角色(假删除) -->
  68. <update id="delRoleById" parameterType="java.util.Map">
  69. update role
  70. set updated_by = #{updatedBy,jdbcType=VARCHAR},
  71. updated_date = #{updatedDate,jdbcType=TIMESTAMP},
  72. status = #{status,jdbcType=VARCHAR}
  73. WHERE id = #{id,jdbcType=INTEGER}
  74. </update>
  75. <!-- 删除角色下的资源 -->
  76. <delete id="delRoleResourceByCon" parameterType="java.lang.Integer">
  77. DELETE FROM role_resource WHERE role_id = #{roleId,jdbcType=INTEGER}
  78. </delete>
  79. <!-- 获取所有的菜单功能 -->
  80. <select id="getAllResources" parameterType="java.lang.String" resultType="com.xjfast.entity.vo.RoleMenuOutData">
  81. SELECT rf.resource_id, rf.resource_name, rf.parent_resource, rf.status, rf.resource_type,
  82. rf.resource_level, rf.have_child, rf.new_tab, rf.show_mark, rf.font_label, rf.resource_url,
  83. rf.menu_set FROM resource_function rf
  84. WHERE rf.item_type = #{itemType,jdbcType=VARCHAR}
  85. </select>
  86. <!-- 获取当前角色选择的菜单 -->
  87. <select id="getCheckedMenus" parameterType="java.lang.Integer" resultType="java.lang.String">
  88. SELECT DISTINCT resource_id FROM role_resource WHERE role_id = #{roleId,jdbcType=INTEGER}
  89. </select>
  90. <!-- 批量插入角色权限数据 -->
  91. <insert id="batchInsertRoleResource" parameterType="java.util.List">
  92. INSERT INTO role_resource (resource_id, role_id, created_by, created_date)
  93. VALUES
  94. <!-- 循环 -->
  95. <foreach collection="list" item="roleMenu" separator="," index="index">
  96. (#{roleMenu.resourceId}, #{roleMenu.roleId}, #{roleMenu.createdBy}, #{roleMenu.createdDate})
  97. </foreach>
  98. </insert>
  99. </mapper>