0.3.1 多角色用户查询问题

This commit is contained in:
磷叶 2025-02-15 15:27:54 +08:00
parent 904cb75554
commit 3d7b91bc03

View File

@ -8,7 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<id property="userId" column="user_id" /> <id property="userId" column="user_id" />
<result property="deptName" column="dept_name" /> <result property="deptName" column="dept_name" />
<association property="dept" javaType="SysDept" resultMap="deptResult" /> <association property="dept" javaType="SysDept" resultMap="deptResult" />
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> <collection property="roles" javaType="java.util.List" column="user_id" select="selectUserRoleByUserId"/>
</resultMap> </resultMap>
<resultMap id="deptResult" type="SysDept" autoMapping="true"> <resultMap id="deptResult" type="SysDept" autoMapping="true">
@ -30,6 +30,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="status" column="role_status" /> <result property="status" column="role_status" />
</resultMap> </resultMap>
<select id="selectUserRoleByUserId" resultMap="RoleResult">
select r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user_role ur
left join sys_role r on ur.role_id = r.role_id
where ur.user_id = #{user_id}
</select>
<sql id="selectUserVo"> <sql id="selectUserVo">
select select
u.user_id, u.user_id,
@ -59,17 +66,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
d.dept_name, d.dept_name,
d.order_num, d.order_num,
d.leader, d.leader,
d.status as dept_status, d.status as dept_status
r.role_id,
r.role_name,
r.role_key,
r.role_sort,
r.data_scope,
r.status as role_status
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
</sql> </sql>
<sql id="searchCondition"> <sql id="searchCondition">
@ -160,15 +159,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
u.employ_status, u.employ_status,
u.wx_open_id, u.wx_open_id,
d.dept_name, d.dept_name,
d.leader, d.leader
r.role_name
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
</sql> </sql>
<select id="selectUserList" parameterType="SysUserQuery" resultMap="SysUserResult"> <select id="selectUserList" parameterType="SysUserQuery" resultMap="SysUserResult">
<include refid="selectListVo"/> <include refid="selectListVo"/>
<where> <where>
<include refid="searchCondition"/> <include refid="searchCondition"/>