mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-05 23:11:24 +08:00
Fixed pagination in UserManagement
This commit is contained in:
@@ -20,6 +20,8 @@ import java.util.List;
|
||||
public interface UserMapper extends BaseMapper<User> {
|
||||
IPage<User> getAll(IPage<User> page);
|
||||
|
||||
List<User> getAllWithRoleAndGroup(@Param("userList") List<User> userList);
|
||||
|
||||
List<User> getAllAffairUser();
|
||||
|
||||
List<User> getAllDepartmentUser(@Param("departmentId")long departmentId);
|
||||
|
||||
@@ -93,6 +93,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
public IPage<User> getAllUser(Long currentPage, Long pageSize) {
|
||||
IPage<User> userPage = PageDTO.of(currentPage, pageSize);
|
||||
userPage = userMapper.getAll(userPage);
|
||||
userPage.setRecords(userMapper.getAllWithRoleAndGroup(userPage.getRecords()));
|
||||
userPage.getRecords().forEach(user -> {
|
||||
if (user.getId() == 1L) {
|
||||
user.setRoles(List.of(new Role(0L, "超级管理员")));
|
||||
|
||||
@@ -2,7 +2,18 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cfive.pinnacle.mapper.permission.UserMapper">
|
||||
|
||||
<select id="getAll" resultMap="userMap">
|
||||
<select id="getAll" resultMap="userBase">
|
||||
select t_user.id as user_id,
|
||||
t_user.username as user_username,
|
||||
t_user.department_id as user_department_id,
|
||||
t_user.enable as user_enable,
|
||||
t_user.deleted as user_deleted,
|
||||
t_user.version as user_version
|
||||
from t_user
|
||||
where deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="getAllWithRoleAndGroup" resultMap="userMap">
|
||||
select distinct t_user.id as user_id,
|
||||
t_user.username as user_username,
|
||||
t_user.department_id as user_department_id,
|
||||
@@ -30,6 +41,12 @@
|
||||
left join (select * from t_role where deleted = 0) as tr on tr.id = tur.role_id
|
||||
left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id
|
||||
left join (select * from t_group where deleted = 0) as tg on tg.id = tug.group_id
|
||||
<where>
|
||||
<foreach collection="userList" item="item" index="index" open="t_user.id in (" separator="," close=")"
|
||||
nullable="true">
|
||||
#{item.id}
|
||||
</foreach>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getOneById" resultMap="userMap">
|
||||
@@ -98,7 +115,8 @@
|
||||
left join (select * from t_group where deleted = 0 and enable = 1) as tg on tg.id = tug.group_id
|
||||
left join (select * from t_role_group where deleted = 0) as trg on tg.id = trg.group_id
|
||||
left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id
|
||||
left join (select * from t_role where deleted = 0 and enable = 1) as tr on tr.id = trg.role_id or tr.id = tur.role_id
|
||||
left join (select * from t_role where deleted = 0 and enable = 1) as tr
|
||||
on tr.id = trg.role_id or tr.id = tur.role_id
|
||||
left join (select * from t_power_role where deleted = 0) as tpr on tpr.role_id = tr.id
|
||||
left join t_power as tp on tp.id = tpr.power_id
|
||||
left join t_menu tm on tp.id = tm.power_id
|
||||
@@ -180,13 +198,16 @@
|
||||
and t_user.department_id = #{departmentId}
|
||||
</select>
|
||||
|
||||
<resultMap id="userMap" type="user">
|
||||
<resultMap id="userBase" type="user">
|
||||
<id property="id" column="user_id"/>
|
||||
<result property="username" column="user_username"/>
|
||||
<result property="departmentId" column="user_department_id"/>
|
||||
<result property="enable" column="user_enable"/>
|
||||
<result property="deleted" column="user_deleted"/>
|
||||
<result property="version" column="user_version"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="userMap" type="user" extends="userBase">
|
||||
<association property="staff" javaType="staff">
|
||||
<id property="id" column="staff_id"/>
|
||||
<result property="firstName" column="staff_first_name"/>
|
||||
@@ -210,14 +231,8 @@
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="userWithPowerMap" type="user">
|
||||
<id property="id" column="user_id"/>
|
||||
<result property="username" column="user_username"/>
|
||||
<resultMap id="userWithPowerMap" type="user" extends="userBase">
|
||||
<result property="passwd" column="user_passwd"/>
|
||||
<result property="departmentId" column="user_department_id"/>
|
||||
<result property="enable" column="user_enable"/>
|
||||
<result property="deleted" column="user_deleted"/>
|
||||
<result property="version" column="user_version"/>
|
||||
<association property="staff" javaType="staff">
|
||||
<id property="id" column="staff_id"/>
|
||||
<result property="firstName" column="staff_first_name"/>
|
||||
|
||||
Reference in New Issue
Block a user