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.
99 lines
5.0 KiB
99 lines
5.0 KiB
<?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.xjfast.mapper.RoleMapper">
|
|
<resultMap id="BaseResultMap" type="com.xjfast.entity.Role">
|
|
<id column="id" jdbcType="INTEGER" property="id" />
|
|
<result column="role_name" jdbcType="VARCHAR" property="roleName" />
|
|
<result column="role_desc" jdbcType="VARCHAR" property="roleDesc" />
|
|
<result column="created_by" jdbcType="VARCHAR" property="createdBy" />
|
|
<result column="created_date" jdbcType="TIMESTAMP" property="createdDate" />
|
|
<result column="updated_by" jdbcType="VARCHAR" property="updatedBy" />
|
|
<result column="updated_date" jdbcType="TIMESTAMP" property="updatedDate" />
|
|
<result column="status" jdbcType="CHAR" property="status" />
|
|
</resultMap>
|
|
<!-- 删除用户下的角色信息 -->
|
|
<delete id="delUserRoleByUsername" parameterType="java.lang.String">
|
|
DELETE FROM user_role WHERE username = #{username,jdbcType=VARCHAR}
|
|
</delete>
|
|
<!-- 查询用户的角色数据 -->
|
|
<select id="getUserRolesByUsername" parameterType="java.lang.String" resultType="com.xjfast.entity.vo.UserRoleOutData">
|
|
SELECT ur.username, ur.role_id, ur.created_by, ur.created_date
|
|
FROM user_role ur WHERE ur.username = #{username,jdbcType=VARCHAR}
|
|
</select>
|
|
<!-- 批量插入用户和角色的关联表 -->
|
|
<insert id="batchInsertUserRoles" parameterType="java.util.List">
|
|
INSERT INTO user_role (username, role_id, created_by, created_date)
|
|
VALUES
|
|
<foreach collection="list" item="userRole" separator="," index="index">
|
|
(#{userRole.username}, #{userRole.roleId}, #{userRole.createdBy}, #{userRole.createdDate})
|
|
</foreach>
|
|
</insert>
|
|
<!-- 查询角色表数据 -->
|
|
<select id="getRolesByCon" parameterType="com.xjfast.entity.dto.RoleInData" resultType="com.xjfast.entity.vo.RoleOutData">
|
|
SELECT id, role_name, role_desc, created_by, created_date, updated_by, updated_date,
|
|
status
|
|
FROM role
|
|
<where>
|
|
<if test="roleName != null and roleName != ''"> AND role_name LIKE '%'+#{roleName}+'%'</if>
|
|
<if test="status != 'ALL'"> AND status = #{status}</if>
|
|
</where>
|
|
</select>
|
|
<!-- 获取所有的角色 -->
|
|
<select id="getALLRolesByCon" resultType="com.xjfast.entity.vo.RoleOutData">
|
|
SELECT id, role_name, role_desc, created_by, created_date, updated_by, updated_date,
|
|
status
|
|
FROM role
|
|
</select>
|
|
<!-- 新增一个角色 -->
|
|
<insert id="insertRole" parameterType="com.xjfast.entity.dto.RoleInData" useGeneratedKeys="true" keyProperty="id">
|
|
INSERT INTO role (role_name, role_desc, created_by, created_date, status)
|
|
VALUES (#{roleName,jdbcType=VARCHAR}, #{roleDesc,jdbcType=VARCHAR}, #{createdBy,jdbcType=VARCHAR},
|
|
#{createdDate,jdbcType=TIMESTAMP}, #{status,jdbcType=CHAR})
|
|
</insert>
|
|
<!-- 修改角色的属性值 -->
|
|
<update id="updateRoleById" parameterType="com.xjfast.entity.dto.RoleInData">
|
|
update role
|
|
set role_name = #{roleName,jdbcType=VARCHAR},
|
|
role_desc = #{roleDesc,jdbcType=VARCHAR},
|
|
updated_by = #{updatedBy,jdbcType=VARCHAR},
|
|
updated_date = #{updatedDate,jdbcType=TIMESTAMP},
|
|
status = #{status,jdbcType=CHAR}
|
|
WHERE id = #{id,jdbcType=INTEGER}
|
|
</update>
|
|
<!-- 查询用户的关联角色的数量 -->
|
|
<select id="countRoleUser" parameterType="java.lang.Integer" resultType="java.lang.Integer">
|
|
SELECT COUNT(1) FROM user_role WHERE role_id = #{id,jdbcType=INTEGER}
|
|
</select>
|
|
<!-- 删除角色(假删除) -->
|
|
<update id="delRoleById" parameterType="java.util.Map">
|
|
update role
|
|
set updated_by = #{updatedBy,jdbcType=VARCHAR},
|
|
updated_date = #{updatedDate,jdbcType=TIMESTAMP},
|
|
status = #{status,jdbcType=VARCHAR}
|
|
WHERE id = #{id,jdbcType=INTEGER}
|
|
</update>
|
|
<!-- 删除角色下的资源 -->
|
|
<delete id="delRoleResourceByCon" parameterType="java.lang.Integer">
|
|
DELETE FROM role_resource WHERE role_id = #{roleId,jdbcType=INTEGER}
|
|
</delete>
|
|
<!-- 获取所有的菜单功能 -->
|
|
<select id="getAllResources" parameterType="java.lang.String" resultType="com.xjfast.entity.vo.RoleMenuOutData">
|
|
SELECT rf.resource_id, rf.resource_name, rf.parent_resource, rf.status, rf.resource_type,
|
|
rf.resource_level, rf.have_child, rf.new_tab, rf.show_mark, rf.font_label, rf.resource_url,
|
|
rf.menu_set FROM resource_function rf
|
|
WHERE rf.item_type = #{itemType,jdbcType=VARCHAR}
|
|
</select>
|
|
<!-- 获取当前角色选择的菜单 -->
|
|
<select id="getCheckedMenus" parameterType="java.lang.Integer" resultType="java.lang.String">
|
|
SELECT DISTINCT resource_id FROM role_resource WHERE role_id = #{roleId,jdbcType=INTEGER}
|
|
</select>
|
|
<!-- 批量插入角色权限数据 -->
|
|
<insert id="batchInsertRoleResource" parameterType="java.util.List">
|
|
INSERT INTO role_resource (resource_id, role_id, created_by, created_date)
|
|
VALUES
|
|
<!-- 循环 -->
|
|
<foreach collection="list" item="roleMenu" separator="," index="index">
|
|
(#{roleMenu.resourceId}, #{roleMenu.roleId}, #{roleMenu.createdBy}, #{roleMenu.createdDate})
|
|
</foreach>
|
|
</insert>
|
|
</mapper>
|