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:
@@ -3,7 +3,6 @@ package com.cfive.pinnacle.controller;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.cfive.pinnacle.controller.permission.UserController;
|
import com.cfive.pinnacle.controller.permission.UserController;
|
||||||
import com.cfive.pinnacle.entity.Affair;
|
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.ResponseCode;
|
||||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||||
import com.cfive.pinnacle.service.IAffairService;
|
import com.cfive.pinnacle.service.IAffairService;
|
||||||
@@ -40,17 +39,6 @@ public class AffairController {
|
|||||||
return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", affairService.save(affair));
|
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")
|
@GetMapping("/personal_affairs")
|
||||||
@PreAuthorize("hasAuthority('affair:self:get')")
|
@PreAuthorize("hasAuthority('affair:self:get')")
|
||||||
public ResponseResult<List<Affair>> getPersonalAffairs() {
|
public ResponseResult<List<Affair>> getPersonalAffairs() {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.cfive.pinnacle.controller.permission;
|
package com.cfive.pinnacle.controller.permission;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.permission.User;
|
||||||
import com.cfive.pinnacle.entity.common.ResponseCode;
|
import com.cfive.pinnacle.entity.common.ResponseCode;
|
||||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||||
@@ -56,8 +57,8 @@ public class UserController {
|
|||||||
@GetMapping
|
@GetMapping
|
||||||
@PreAuthorize("hasAnyAuthority('system:user:get', 'system:user:add', 'system:user:modify')")
|
@PreAuthorize("hasAnyAuthority('system:user:get', 'system:user:add', 'system:user:modify')")
|
||||||
@Operation(summary = "获取所有用户(权限管理相关)")
|
@Operation(summary = "获取所有用户(权限管理相关)")
|
||||||
public ResponseResult<List<User>> getAllUser() {
|
public ResponseResult<IPage<User>> getAllUser(Long currentPage, Long pageSize) {
|
||||||
List<User> users = userService.getAllUser();
|
IPage<User> users = userService.getAllUser( currentPage, pageSize);
|
||||||
return ResponseResult.databaseSelectSuccess(users);
|
return ResponseResult.databaseSelectSuccess(users);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cfive.pinnacle.mapper.permission;
|
package com.cfive.pinnacle.mapper.permission;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.cfive.pinnacle.entity.permission.User;
|
import com.cfive.pinnacle.entity.permission.User;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@@ -17,7 +18,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface UserMapper extends BaseMapper<User> {
|
public interface UserMapper extends BaseMapper<User> {
|
||||||
List<User> getAll();
|
IPage<User> getAll(IPage<User> page);
|
||||||
|
|
||||||
List<User> getAllAffairUser();
|
List<User> getAllAffairUser();
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cfive.pinnacle.service.permission;
|
package com.cfive.pinnacle.service.permission;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.cfive.pinnacle.entity.permission.User;
|
import com.cfive.pinnacle.entity.permission.User;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
@@ -21,7 +22,7 @@ public interface IUserService extends IService<User> {
|
|||||||
|
|
||||||
List<User> getDepartmentUser();
|
List<User> getDepartmentUser();
|
||||||
|
|
||||||
List<User> getAllUser();
|
IPage<User> getAllUser(Long currentPage, Long pageSize);
|
||||||
|
|
||||||
User getUser(long id);
|
User getUser(long id);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.cfive.pinnacle.service.permission.impl;
|
package com.cfive.pinnacle.service.permission.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||||
import com.cfive.pinnacle.entity.permission.*;
|
import com.cfive.pinnacle.entity.permission.*;
|
||||||
import com.cfive.pinnacle.mapper.permission.*;
|
import com.cfive.pinnacle.mapper.permission.*;
|
||||||
import com.cfive.pinnacle.service.permission.IUserService;
|
import com.cfive.pinnacle.service.permission.IUserService;
|
||||||
@@ -88,15 +90,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<User> getAllUser() {
|
public IPage<User> getAllUser(Long currentPage, Long pageSize) {
|
||||||
List<User> users = userMapper.getAll();
|
IPage<User> userPage = PageDTO.of(currentPage, pageSize);
|
||||||
users.forEach(user -> {
|
userPage = userMapper.getAll(userPage);
|
||||||
|
userPage.getRecords().forEach(user -> {
|
||||||
if (user.getId() == 1L) {
|
if (user.getId() == 1L) {
|
||||||
user.setRoles(List.of(new Role(0L, "超级管理员")));
|
user.setRoles(List.of(new Role(0L, "超级管理员")));
|
||||||
user.setGroups(List.of(new Group(0L, "超级管理员")));
|
user.setGroups(List.of(new Group(0L, "超级管理员")));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return users;
|
return userPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<mapper namespace="com.cfive.pinnacle.mapper.permission.UserMapper">
|
<mapper namespace="com.cfive.pinnacle.mapper.permission.UserMapper">
|
||||||
|
|
||||||
<select id="getAll" resultMap="userMap">
|
<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.username as user_username,
|
||||||
t_user.department_id as user_department_id,
|
t_user.department_id as user_department_id,
|
||||||
t_user.enable as user_enable,
|
t_user.enable as user_enable,
|
||||||
@@ -24,13 +24,12 @@
|
|||||||
tg.enable as group_enable,
|
tg.enable as group_enable,
|
||||||
tg.deleted as group_deleted,
|
tg.deleted as group_deleted,
|
||||||
tg.version as group_version
|
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_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_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_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_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
|
left join (select * from t_group where deleted = 0) as tg on tg.id = tug.group_id
|
||||||
where t_user.deleted = 0;
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getOneById" resultMap="userMap">
|
<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_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
|
left join (select * from t_group where deleted = 0) as tg on tg.id = tug.group_id
|
||||||
where t_user.deleted = 0
|
where t_user.deleted = 0
|
||||||
and t_user.id = #{id};
|
and t_user.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getOneWithPowerByUsername" resultMap="userWithPowerMap">
|
<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.username as user_username,
|
||||||
t_user.passwd as user_passwd,
|
t_user.passwd as user_passwd,
|
||||||
t_user.department_id as user_department_id,
|
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_element te on tp.id = te.power_id
|
||||||
left join t_operation t on tp.id = t.power_id
|
left join t_operation t on tp.id = t.power_id
|
||||||
where t_user.deleted = 0
|
where t_user.deleted = 0
|
||||||
and t_user.username = #{username};
|
and t_user.username = #{username}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAllAffairUser" resultMap="userMap">
|
<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.username as user_username,
|
||||||
t_user.department_id as user_department_id,
|
t_user.department_id as user_department_id,
|
||||||
t_user.enable as user_enable,
|
t_user.enable as user_enable,
|
||||||
@@ -142,31 +141,31 @@
|
|||||||
left join (select * from t_operation) as t on t.power_id = tp.id
|
left join (select * from t_operation) as t on t.power_id = tp.id
|
||||||
where t_user.deleted = 0
|
where t_user.deleted = 0
|
||||||
and t_user.id != 1
|
and t_user.id != 1
|
||||||
and t.code = 'affair:manage:modify';
|
and t.code = 'affair:manage:modify'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAllDepartmentUser" resultMap="userMap">
|
<select id="getAllDepartmentUser" 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.username as user_username,
|
||||||
t_user.department_id as user_department_id,
|
t_user.department_id as user_department_id,
|
||||||
t_user.enable as user_enable,
|
t_user.enable as user_enable,
|
||||||
t_user.deleted as user_deleted,
|
t_user.deleted as user_deleted,
|
||||||
t_user.version as user_version,
|
t_user.version as user_version,
|
||||||
ts.id as staff_id,
|
ts.id as staff_id,
|
||||||
ts.first_name as staff_first_name,
|
ts.first_name as staff_first_name,
|
||||||
ts.last_name as staff_last_name,
|
ts.last_name as staff_last_name,
|
||||||
ts.deleted as staff_deleted,
|
ts.deleted as staff_deleted,
|
||||||
ts.version as staff_version,
|
ts.version as staff_version,
|
||||||
tr.id as role_id,
|
tr.id as role_id,
|
||||||
tr.enable as role_enable,
|
tr.enable as role_enable,
|
||||||
tr.name as role_name,
|
tr.name as role_name,
|
||||||
tr.deleted as role_deleted,
|
tr.deleted as role_deleted,
|
||||||
tr.version as role_version,
|
tr.version as role_version,
|
||||||
tg.id as group_id,
|
tg.id as group_id,
|
||||||
tg.name as group_name,
|
tg.name as group_name,
|
||||||
tg.enable as group_enable,
|
tg.enable as group_enable,
|
||||||
tg.deleted as group_deleted,
|
tg.deleted as group_deleted,
|
||||||
tg.version as group_version
|
tg.version as group_version
|
||||||
from t_user
|
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_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_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
|
left join (select * from t_operation) as t on t.power_id = tp.id
|
||||||
where t_user.deleted = 0
|
where t_user.deleted = 0
|
||||||
and t_user.id != 1
|
and t_user.id != 1
|
||||||
and t_user.department_id = #{departmentId};
|
and t_user.department_id = #{departmentId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<resultMap id="userMap" type="user">
|
<resultMap id="userMap" type="user">
|
||||||
|
|||||||
@@ -22,6 +22,19 @@
|
|||||||
custom-column-label_1="角色"
|
custom-column-label_1="角色"
|
||||||
custom-column-label_2="用户组"
|
custom-column-label_2="用户组"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<div class="pagination">
|
||||||
|
<el-pagination
|
||||||
|
v-model:current-page="currentPage"
|
||||||
|
v-model:page-size="pageSize"
|
||||||
|
:page-sizes="[50, 100, 200, 500, 1000]"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="totalCount"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:title="dialogTitle"
|
:title="dialogTitle"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
@@ -132,6 +145,9 @@ export default {
|
|||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
tableLoading: true,
|
tableLoading: true,
|
||||||
dialogLoading: true,
|
dialogLoading: true,
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 50,
|
||||||
|
totalCount: 0,
|
||||||
userTable: [],
|
userTable: [],
|
||||||
roles: [],
|
roles: [],
|
||||||
groups: [],
|
groups: [],
|
||||||
@@ -174,32 +190,35 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
loadUserTable() {
|
loadUserTable() {
|
||||||
this.tableLoading = true
|
this.tableLoading = true
|
||||||
request.get('/user').then((res) => {
|
request
|
||||||
const response = res.data
|
.get('/user', { currentPage: this.currentPage, pageSize: this.pageSize })
|
||||||
if (response.code === DATABASE_SELECT_OK) {
|
.then((res) => {
|
||||||
const users = response.data
|
const response = res.data
|
||||||
for (const user of users) {
|
if (response.code === DATABASE_SELECT_OK) {
|
||||||
user.name = user.username
|
const users = response.data.records
|
||||||
user.customColumn_1 = []
|
this.totalCount = response.data.total
|
||||||
user.customColumn_2 = []
|
for (const user of users) {
|
||||||
const roles = user.roles
|
user.name = user.username
|
||||||
for (const role of roles) {
|
user.customColumn_1 = []
|
||||||
user.customColumn_1.push(role.name)
|
user.customColumn_2 = []
|
||||||
}
|
const roles = user.roles
|
||||||
const groups = user.groups
|
for (const role of roles) {
|
||||||
for (const group of groups) {
|
user.customColumn_1.push(role.name)
|
||||||
user.customColumn_2.push(group.name)
|
}
|
||||||
|
const groups = user.groups
|
||||||
|
for (const group of groups) {
|
||||||
|
user.customColumn_2.push(group.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
this.userTable = users
|
||||||
|
this.tableLoading = false
|
||||||
|
} else {
|
||||||
|
ElMessage.error({
|
||||||
|
dangerouslyUseHTMLString: true,
|
||||||
|
message: '<strong>查询出错</strong>: ' + response.msg
|
||||||
|
})
|
||||||
}
|
}
|
||||||
this.userTable = users
|
})
|
||||||
this.tableLoading = false
|
|
||||||
} else {
|
|
||||||
ElMessage.error({
|
|
||||||
dangerouslyUseHTMLString: true,
|
|
||||||
message: '<strong>查询出错</strong>: ' + response.msg
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleAddBtn() {
|
handleAddBtn() {
|
||||||
this.isAddNew = true
|
this.isAddNew = true
|
||||||
@@ -375,6 +394,14 @@ export default {
|
|||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
|
},
|
||||||
|
handleSizeChange(pageSize) {
|
||||||
|
this.pageSize = pageSize
|
||||||
|
this.loadUserTable()
|
||||||
|
},
|
||||||
|
handleCurrentChange(currentPage) {
|
||||||
|
this.currentPage = currentPage
|
||||||
|
this.loadUserTable()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -383,4 +410,10 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped>
|
||||||
|
.pagination {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user