推送用户列表查询的分页bug
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.annotation.DataColumn;
|
||||
@@ -22,7 +23,7 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
|
||||
@DataColumn(key = "deptName", value = "d.dept_id"),
|
||||
@DataColumn(key = "userName", value = "u.user_id")
|
||||
})
|
||||
Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
|
||||
Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) QueryWrapper<SysUser> queryWrapper);
|
||||
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.SysUserMapper">
|
||||
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<resultMap type="com.ruoyi.common.core.domain.entity.SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
@@ -28,11 +28,16 @@
|
||||
<result property="bankCard" column="bank_card"/>
|
||||
<result property="insure" column="insure"/>
|
||||
<result property="laborCost" column="labor_cost"/>
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
|
||||
<association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept" resultMap="deptResult"/>
|
||||
|
||||
<!-- 嵌套查询加载 roles 列表 -->
|
||||
<collection property="roles"
|
||||
ofType="com.ruoyi.common.core.domain.entity.SysRole"
|
||||
column="user_id"
|
||||
select="selectRolesByUserId"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="deptResult" type="SysDept">
|
||||
<resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept">
|
||||
<id property="deptId" column="dept_id"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="deptName" column="dept_name"/>
|
||||
@@ -42,7 +47,7 @@
|
||||
<result property="status" column="dept_status"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="RoleResult" type="SysRole">
|
||||
<resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
|
||||
<id property="roleId" column="role_id"/>
|
||||
<result property="roleName" column="role_name"/>
|
||||
<result property="roleKey" column="role_key"/>
|
||||
@@ -62,6 +67,44 @@
|
||||
<result property="laborCost" column="labor_cost"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectPageUserList" resultMap="SysUserResult">
|
||||
SELECT
|
||||
u.*,
|
||||
d.dept_name,
|
||||
d.leader
|
||||
FROM (
|
||||
-- 子查询:去重并分页
|
||||
SELECT u.user_id
|
||||
FROM sys_user u
|
||||
LEFT JOIN sys_user_role sur
|
||||
ON sur.user_id = u.user_id
|
||||
LEFT JOIN sys_role sr
|
||||
ON sr.role_id = sur.role_id
|
||||
${ew.getCustomSqlSegment}
|
||||
GROUP BY u.user_id
|
||||
) ids
|
||||
-- 回联完整用户表(alias: u_full)
|
||||
JOIN sys_user u
|
||||
ON u.user_id = ids.user_id
|
||||
-- 回联部门表
|
||||
LEFT JOIN sys_dept d
|
||||
ON u.dept_id = d.dept_id
|
||||
</select>
|
||||
<!-- 嵌套查询:根据 user_id 加载角色 -->
|
||||
<select id="selectRolesByUserId"
|
||||
resultMap="RoleResult"
|
||||
parameterType="long">
|
||||
SELECT
|
||||
r.role_id,
|
||||
r.role_name
|
||||
FROM sys_role r
|
||||
INNER JOIN sys_user_role sur
|
||||
ON r.role_id = sur.role_id
|
||||
WHERE sur.user_id = #{user_id}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id,
|
||||
u.dept_id,
|
||||
@@ -103,18 +146,9 @@
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
</sql>
|
||||
|
||||
<select id="selectPageUserList" resultMap="SysUserResult">
|
||||
select u.user_id, u.insure, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,u.id_card,u.bank_card,u.labor_cost,
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader,sr.role_id,sr.role_name
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on sur.user_id = u.user_id
|
||||
left join sys_role sr on sr.role_id = sur.role_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectUserList" resultMap="SysUserResult">
|
||||
select u.user_id, u.insure, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,
|
||||
select distinct u.user_id, u.insure, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
|
||||
Reference in New Issue
Block a user