From bf88054c35b297a29ac4b721eda80c758d8f8b7a Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Thu, 1 Jun 2023 18:10:44 +0800 Subject: [PATCH] Added pagination to GroupManagement. Optimized get group list in UserManagement. --- .../permission/GroupController.java | 15 ++- .../mapper/permission/GroupMapper.java | 5 +- .../service/permission/IGroupService.java | 5 +- .../permission/impl/GroupServiceImpl.java | 9 +- .../mapper/permission/GroupMapper.xml | 2 +- .../mapper/permission/RoleMapper.xml | 2 +- ui/src/pages/power/GroupManagement.vue | 95 +++++++++++++------ ui/src/pages/power/RoleManagement.vue | 6 +- ui/src/pages/power/UserManagement.vue | 2 +- 9 files changed, 92 insertions(+), 49 deletions(-) diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/GroupController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/GroupController.java index 6383009..ec8805a 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/GroupController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/GroupController.java @@ -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.Group; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; @@ -38,9 +39,17 @@ public class GroupController { @Operation(summary = "获取所有用户组") @GetMapping - @PreAuthorize("hasAnyAuthority('system:group:get', 'system:group:add', 'system:group:delete', 'system:group:modify', 'system:user:add', 'system:user:modify')") - public ResponseResult> getAllGroup() { - List groups = groupService.getAllGroup(); + @PreAuthorize("hasAuthority('system:group:get' )") + public ResponseResult> getAllGroup(Long currentPage, Long pageSize) { + IPage groups = groupService.getAllGroup(currentPage, pageSize); + return ResponseResult.databaseSelectSuccess(groups); + } + + @Operation(summary = "获取用户组列表") + @GetMapping("list") + @PreAuthorize("hasAnyAuthority('system:user:add', 'system:user:modify')") + public ResponseResult> getGroupList() { + List groups = groupService.list(); return ResponseResult.databaseSelectSuccess(groups); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/permission/GroupMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/permission/GroupMapper.java index c537eb2..fc1af2d 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/permission/GroupMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/permission/GroupMapper.java @@ -1,12 +1,11 @@ package com.cfive.pinnacle.mapper.permission; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.permission.Group; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 用户组 Mapper 接口 @@ -17,7 +16,7 @@ import java.util.List; */ @Mapper public interface GroupMapper extends BaseMapper { - List getAll(); + IPage getAll(IPage groupIPage); Group getOneById(@Param("id") long id); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IGroupService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IGroupService.java index 2f991b4..e777aae 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IGroupService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IGroupService.java @@ -1,10 +1,9 @@ package com.cfive.pinnacle.service.permission; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.permission.Group; import com.baomidou.mybatisplus.extension.service.IService; -import java.util.List; - /** *

* 用户组 服务类 @@ -14,7 +13,7 @@ import java.util.List; * @since 2023-04-30 */ public interface IGroupService extends IService { - List getAllGroup(); + IPage getAllGroup(Long currentPage, Long pageSize); Group getGroup(Long id); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/GroupServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/GroupServiceImpl.java index 90c2583..2276930 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/GroupServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/GroupServiceImpl.java @@ -1,6 +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.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cfive.pinnacle.entity.permission.Group; import com.cfive.pinnacle.entity.permission.RoleGroup; import com.cfive.pinnacle.mapper.permission.GroupMapper; @@ -12,7 +15,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashSet; -import java.util.List; /** *

@@ -38,8 +40,9 @@ public class GroupServiceImpl extends ServiceImpl implements } @Override - public List getAllGroup() { - return groupMapper.getAll(); + public IPage getAllGroup(Long currentPage, Long pageSize) { + Page groupIPage = PageDTO.of(currentPage, pageSize); + return groupMapper.getAll(groupIPage); } @Override diff --git a/Pinnacle/src/main/resources/mapper/permission/GroupMapper.xml b/Pinnacle/src/main/resources/mapper/permission/GroupMapper.xml index 0c49316..6f2b5b1 100644 --- a/Pinnacle/src/main/resources/mapper/permission/GroupMapper.xml +++ b/Pinnacle/src/main/resources/mapper/permission/GroupMapper.xml @@ -15,7 +15,7 @@ from t_group left join (select * from t_role_group where deleted = 0) as trg on t_group.id = trg.group_id left join (select * from t_role where deleted = 0) as tr on tr.id = trg.role_id - where t_group.deleted = 0; + where t_group.deleted = 0 diff --git a/ui/src/pages/power/GroupManagement.vue b/ui/src/pages/power/GroupManagement.vue index 42446ac..31a3331 100644 --- a/ui/src/pages/power/GroupManagement.vue +++ b/ui/src/pages/power/GroupManagement.vue @@ -21,6 +21,19 @@ @onDelete="handleDelete" custom-column-label_1="角色" /> + +

+