1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-05 23:11:24 +08:00

Added pagination to UserManagement

This commit is contained in:
2023-05-31 00:41:58 +08:00
parent 102267ffd2
commit 7d11af0c31
7 changed files with 101 additions and 75 deletions

View File

@@ -3,7 +3,6 @@ package com.cfive.pinnacle.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cfive.pinnacle.controller.permission.UserController;
import com.cfive.pinnacle.entity.Affair;
import com.cfive.pinnacle.entity.permission.User;
import com.cfive.pinnacle.entity.common.ResponseCode;
import com.cfive.pinnacle.entity.common.ResponseResult;
import com.cfive.pinnacle.service.IAffairService;
@@ -40,17 +39,6 @@ public class AffairController {
return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", affairService.save(affair));
}
@GetMapping("/add/get_user")
public ResponseResult<List<User>> getUser() {
List<User> userList = userController.getAllUser().getData();
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", userList);
}//获取数据库中所有用户
@GetMapping("/add/get_current_user")
public ResponseResult<User> getCurrentUser() {
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", WebUtil.getLoginUser().getUser());
}//获取当前用户
@GetMapping("/personal_affairs")
@PreAuthorize("hasAuthority('affair:self:get')")
public ResponseResult<List<Affair>> getPersonalAffairs() {

View File

@@ -1,6 +1,7 @@
package com.cfive.pinnacle.controller.permission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cfive.pinnacle.entity.permission.User;
import com.cfive.pinnacle.entity.common.ResponseCode;
import com.cfive.pinnacle.entity.common.ResponseResult;
@@ -56,8 +57,8 @@ public class UserController {
@GetMapping
@PreAuthorize("hasAnyAuthority('system:user:get', 'system:user:add', 'system:user:modify')")
@Operation(summary = "获取所有用户(权限管理相关)")
public ResponseResult<List<User>> getAllUser() {
List<User> users = userService.getAllUser();
public ResponseResult<IPage<User>> getAllUser(Long currentPage, Long pageSize) {
IPage<User> users = userService.getAllUser( currentPage, pageSize);
return ResponseResult.databaseSelectSuccess(users);
}

View File

@@ -1,5 +1,6 @@
package com.cfive.pinnacle.mapper.permission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cfive.pinnacle.entity.permission.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@@ -17,7 +18,7 @@ import java.util.List;
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<User> getAll();
IPage<User> getAll(IPage<User> page);
List<User> getAllAffairUser();

View File

@@ -1,5 +1,6 @@
package com.cfive.pinnacle.service.permission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cfive.pinnacle.entity.permission.User;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -21,7 +22,7 @@ public interface IUserService extends IService<User> {
List<User> getDepartmentUser();
List<User> getAllUser();
IPage<User> getAllUser(Long currentPage, Long pageSize);
User getUser(long id);

View File

@@ -1,7 +1,9 @@
package com.cfive.pinnacle.service.permission.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cfive.pinnacle.entity.permission.*;
import com.cfive.pinnacle.mapper.permission.*;
import com.cfive.pinnacle.service.permission.IUserService;
@@ -88,15 +90,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
}
@Override
public List<User> getAllUser() {
List<User> users = userMapper.getAll();
users.forEach(user -> {
public IPage<User> getAllUser(Long currentPage, Long pageSize) {
IPage<User> userPage = PageDTO.of(currentPage, pageSize);
userPage = userMapper.getAll(userPage);
userPage.getRecords().forEach(user -> {
if (user.getId() == 1L) {
user.setRoles(List.of(new Role(0L, "超级管理员")));
user.setGroups(List.of(new Group(0L, "超级管理员")));
}
});
return users;
return userPage;
}
@Override

View File

@@ -3,7 +3,7 @@
<mapper namespace="com.cfive.pinnacle.mapper.permission.UserMapper">
<select id="getAll" resultMap="userMap">
select t_user.id as user_id,
select distinct 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,
@@ -24,13 +24,12 @@
tg.enable as group_enable,
tg.deleted as group_deleted,
tg.version as group_version
from t_user
from (select * from t_user where deleted = 0) as t_user
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = t_user.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) 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 t_user.deleted = 0;
</select>
<select id="getOneById" resultMap="userMap">
@@ -62,11 +61,11 @@
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 t_user.deleted = 0
and t_user.id = #{id};
and t_user.id = #{id}
</select>
<select id="getOneWithPowerByUsername" resultMap="userWithPowerMap">
select distinct t_user.id as user_id,
select t_user.id as user_id,
t_user.username as user_username,
t_user.passwd as user_passwd,
t_user.department_id as user_department_id,
@@ -106,11 +105,11 @@
left join t_element te on tp.id = te.power_id
left join t_operation t on tp.id = t.power_id
where t_user.deleted = 0
and t_user.username = #{username};
and t_user.username = #{username}
</select>
<select id="getAllAffairUser" resultMap="userMap">
select t_user.id as user_id,
select distinct 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,
@@ -142,31 +141,31 @@
left join (select * from t_operation) as t on t.power_id = tp.id
where t_user.deleted = 0
and t_user.id != 1
and t.code = 'affair:manage:modify';
and t.code = 'affair:manage:modify'
</select>
<select id="getAllDepartmentUser" resultMap="userMap">
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,
ts.id as staff_id,
ts.first_name as staff_first_name,
ts.last_name as staff_last_name,
ts.deleted as staff_deleted,
ts.version as staff_version,
tr.id as role_id,
tr.enable as role_enable,
tr.name as role_name,
tr.deleted as role_deleted,
tr.version as role_version,
tg.id as group_id,
tg.name as group_name,
tg.enable as group_enable,
tg.deleted as group_deleted,
tg.version as group_version
select distinct 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,
ts.id as staff_id,
ts.first_name as staff_first_name,
ts.last_name as staff_last_name,
ts.deleted as staff_deleted,
ts.version as staff_version,
tr.id as role_id,
tr.enable as role_enable,
tr.name as role_name,
tr.deleted as role_deleted,
tr.version as role_version,
tg.id as group_id,
tg.name as group_name,
tg.enable as group_enable,
tg.deleted as group_deleted,
tg.version as group_version
from t_user
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = t_user.id
left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id
@@ -178,7 +177,7 @@
left join (select * from t_operation) as t on t.power_id = tp.id
where t_user.deleted = 0
and t_user.id != 1
and t_user.department_id = #{departmentId};
and t_user.department_id = #{departmentId}
</select>
<resultMap id="userMap" type="user">