|
|
<?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>
|