推送用户列表查询的分页bug
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.system.mapper;
|
package com.ruoyi.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
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.core.toolkit.Constants;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.annotation.DataColumn;
|
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 = "deptName", value = "d.dept_id"),
|
||||||
@DataColumn(key = "userName", value = "u.user_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">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.system.mapper.SysUserMapper">
|
<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"/>
|
<id property="userId" column="user_id"/>
|
||||||
<result property="deptId" column="dept_id"/>
|
<result property="deptId" column="dept_id"/>
|
||||||
<result property="userName" column="user_name"/>
|
<result property="userName" column="user_name"/>
|
||||||
@@ -28,11 +28,16 @@
|
|||||||
<result property="bankCard" column="bank_card"/>
|
<result property="bankCard" column="bank_card"/>
|
||||||
<result property="insure" column="insure"/>
|
<result property="insure" column="insure"/>
|
||||||
<result property="laborCost" column="labor_cost"/>
|
<result property="laborCost" column="labor_cost"/>
|
||||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
|
<association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept" resultMap="deptResult"/>
|
||||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
|
|
||||||
|
<!-- 嵌套查询加载 roles 列表 -->
|
||||||
|
<collection property="roles"
|
||||||
|
ofType="com.ruoyi.common.core.domain.entity.SysRole"
|
||||||
|
column="user_id"
|
||||||
|
select="selectRolesByUserId"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="deptResult" type="SysDept">
|
<resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept">
|
||||||
<id property="deptId" column="dept_id"/>
|
<id property="deptId" column="dept_id"/>
|
||||||
<result property="parentId" column="parent_id"/>
|
<result property="parentId" column="parent_id"/>
|
||||||
<result property="deptName" column="dept_name"/>
|
<result property="deptName" column="dept_name"/>
|
||||||
@@ -42,7 +47,7 @@
|
|||||||
<result property="status" column="dept_status"/>
|
<result property="status" column="dept_status"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="RoleResult" type="SysRole">
|
<resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
|
||||||
<id property="roleId" column="role_id"/>
|
<id property="roleId" column="role_id"/>
|
||||||
<result property="roleName" column="role_name"/>
|
<result property="roleName" column="role_name"/>
|
||||||
<result property="roleKey" column="role_key"/>
|
<result property="roleKey" column="role_key"/>
|
||||||
@@ -62,6 +67,44 @@
|
|||||||
<result property="laborCost" column="labor_cost"/>
|
<result property="laborCost" column="labor_cost"/>
|
||||||
</resultMap>
|
</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">
|
<sql id="selectUserVo">
|
||||||
select u.user_id,
|
select u.user_id,
|
||||||
u.dept_id,
|
u.dept_id,
|
||||||
@@ -103,18 +146,9 @@
|
|||||||
left join sys_role r on r.role_id = sur.role_id
|
left join sys_role r on r.role_id = sur.role_id
|
||||||
</sql>
|
</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 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
|
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
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user