From d9528f03fada8d1c9ce5435fb7fd1d5c5cfdc393 Mon Sep 17 00:00:00 2001 From: yangsong Date: Tue, 12 Sep 2023 14:10:31 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java | 5 +++-- .../server/controller/role/SaasRoleGroupController.java | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java index 7f2886f4..602b5aa7 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.client.feign; -import cn.axzo.framework.domain.web.result.ApiListResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO; @@ -9,6 +8,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 角色分组 */ @@ -27,7 +28,7 @@ public interface SaasRoleGroupApi { * @return */ @PostMapping("getList") - ApiListResult getList(@RequestBody QuerySaasRoleGroupReq req); + ApiResult> getList(@RequestBody QuerySaasRoleGroupReq req); /** * 删除分组 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java index e25896c0..c78b9a9c 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.server.controller.role; -import cn.axzo.framework.domain.web.result.ApiListResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.SaasRoleGroupApi; import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; @@ -10,6 +9,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @Slf4j @RestController @RequiredArgsConstructor @@ -22,8 +23,8 @@ public class SaasRoleGroupController implements SaasRoleGroupApi { } @Override - public ApiListResult getList(QuerySaasRoleGroupReq req) { - return ApiListResult.ok(saasRoleGroupService.getList(req)); + public ApiResult> getList(QuerySaasRoleGroupReq req) { + return ApiResult.ok(saasRoleGroupService.getList(req)); } @Override From 50a4d12540229d93b6dc7040438ec994c9b9966d Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 12 Sep 2023 14:41:07 +0800 Subject: [PATCH 02/10] =?UTF-8?q?refactor(=E6=9D=83=E9=99=90=E7=82=B9):=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=9A=E8=BF=87ID=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/permission/PermissionPointTreeQueryReq.java | 3 ++- .../service/impl/PermissionPointServiceImpl.java | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointTreeQueryReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointTreeQueryReq.java index 978a9d01..28ed8ce6 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointTreeQueryReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointTreeQueryReq.java @@ -3,6 +3,7 @@ package cn.axzo.tyr.client.model.permission; import lombok.Data; import java.util.List; +import java.util.Set; /** * 权限点树形查询请求参数 @@ -27,7 +28,7 @@ public class PermissionPointTreeQueryReq { private List terminalList; /** 权限点ID列表 **/ - private List ids; + private Set ids; /** 权限点terminal对应workspaceType **/ private List workspaceType; diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java index 001fe90f..2078213c 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java @@ -140,7 +140,8 @@ public class PermissionPointServiceImpl implements PermissionPointService { private List filterTreeNode(PermissionPointTreeQueryReq request, List treeList) { //过滤条件 boolean needFilter = StrUtil.isNotBlank(request.getKeyword()) - || request.getDelegateType() != 0; + || request.getDelegateType() != 0 + || CollectionUtil.isNotEmpty(request.getIds()); if (needFilter) { return treeList.stream().filter(x -> this.recursionFilter(request, x)).collect(Collectors.toList()); @@ -149,14 +150,17 @@ public class PermissionPointServiceImpl implements PermissionPointService { } private boolean recursionFilter(PermissionPointTreeQueryReq request, PermissionPointTreeNode node) { - + // 过滤参数为空时 认为匹配成功 //条件匹配 - 关键字 boolean matchKeyword = request.getKeyword() == null || node.getPermissionName().contains(request.getKeyword()); //条件匹配 - 授权策略类型 boolean matchDelegateType = request.getDelegateType() == 0 || Objects.equals(request.getDelegateType(), node.getDelegatedType()); - if (matchKeyword && matchDelegateType) { + //条件匹配 - ID + boolean matchId = CollectionUtil.isEmpty(request.getIds()) || request.getIds().contains(node.getPermissionPointId()); + + if (matchKeyword && matchDelegateType && matchId) { //如果匹配直接返回,否则过滤子节点 return true; } From 812ff3fab4615be906826ee9bdcde4c201425f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BB=B4=E4=BC=9F?= Date: Tue, 12 Sep 2023 16:14:49 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=88=86=E7=BB=84=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/feign/SaasPermissionGroupApi.java | 14 +++-- .../cn/axzo/tyr/client/feign/SaasRoleApi.java | 6 ++ .../tyr/client/feign/SaasRoleGroupApi.java | 14 ++--- .../tyr/client/model/vo/SaasRoleGroupVO.java | 20 +++---- .../role/SaasPermissionGroupController.java | 58 +++++++++++++++++++ .../controller/role/SaasRoleController.java | 5 ++ .../role/SaasRoleGroupController.java | 11 ++-- .../entity/SaasPermissionGroupScope.java | 6 ++ .../service/SaasPermissionGroupDao.java | 9 +++ .../service/SaasPermissionGroupScopeDao.java | 10 ++++ .../SaasPgroupPermissionRelationDao.java | 10 ++++ .../service/SaasPgroupRoleRelationDao.java | 11 ++++ .../repository/service/SaasRoleDao.java | 10 ++++ .../repository/service/SaasRoleGroupDao.java | 7 +++ .../service/SaasRoleGroupRelationDao.java | 11 ++++ .../service/SaasRoleUserRelationDao.java | 8 +++ .../server/service/SaasRoleGroupService.java | 4 ++ .../impl/SaasRoleGroupServiceImpl.java | 43 +++++++++++++- 18 files changed, 225 insertions(+), 32 deletions(-) create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupApi.java index 5ebc745e..4d80fbd5 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupApi.java @@ -9,16 +9,18 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 权限集 */ -@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080/api/saasPermissionGoup}") +@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}") public interface SaasPermissionGroupApi { /** * 保存/更新 */ - @PostMapping("saveOrUpdate") + @PostMapping("/api/saasPermissionGoup/saveOrUpdate") ApiResult saveOrUpdate(@RequestBody SaasPermissionGroupVO req); /** @@ -26,19 +28,19 @@ public interface SaasPermissionGroupApi { * @param id * @return */ - @PostMapping("getById") + @PostMapping("/api/saasPermissionGoup/getById") ApiResult getById(@RequestParam("id") Long id); /** * 查询 */ - @PostMapping("query") + @PostMapping("/api/saasPermissionGoup/query") ApiPageResult query(@RequestBody QuerySaasPermissionGroupReq req); /** * 删除 */ - @PostMapping("delete") - ApiResult delete(@RequestParam(required = true) Long id); + @PostMapping("/api/saasPermissionGoup/delete") + ApiResult delete(@RequestBody List id); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java index e72b2b23..47daff72 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java @@ -41,6 +41,12 @@ public interface SaasRoleApi { @PostMapping("/api/saasRole/query") ApiResult> query(@RequestBody QuerySaasRoleReq req); + /** + * 删除 + */ + @PostMapping("/api/saasRole/delete") + ApiResult delete(@RequestBody List id); + /** * 根据身份id身份类型查询权限列表(批量) * @param identityType 身份类型 1:工人 2:班组长 3:从业人员 4:监管人员 5:运营人员 diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java index 602b5aa7..d2a1d414 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java @@ -13,28 +13,28 @@ import java.util.List; /** * 角色分组 */ -@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080/api/saasRoleGroup}") +@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}") public interface SaasRoleGroupApi { /** * 保存/更新 * @return */ - @PostMapping("save") - ApiResult saveOrUpdate(@RequestBody SaasRoleGroupVO req); + @PostMapping("/api/saasRoleGroup/save") + ApiResult saveOrUpdate(@RequestBody SaasRoleGroupVO req); /** * 获取权限分组列表 * @return */ - @PostMapping("getList") + @PostMapping("/api/saasRoleGroup/getList") ApiResult> getList(@RequestBody QuerySaasRoleGroupReq req); /** - * 删除分组 + * 删除 */ - @PostMapping("delete") - ApiResult delete(@RequestParam(required = true) Long id); + @PostMapping("/api/saasRoleGroup//api/saasPermissionGoup/delete") + ApiResult delete(@RequestBody List id); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleGroupVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleGroupVO.java index 2f44645a..fb640369 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleGroupVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleGroupVO.java @@ -1,11 +1,17 @@ package cn.axzo.tyr.client.model.vo; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Date; import java.util.List; @Data +@AllArgsConstructor +@NoArgsConstructor +@Builder public class SaasRoleGroupVO { private Long id; @@ -13,22 +19,12 @@ public class SaasRoleGroupVO { /** * 工作台类型字典code */ - private Long workspaceTypeCode; + private String workspaceTypeCode; /** * 单位类型字典code */ - private List ouTypeCode; - - /** - * 所属工作台id - */ - private Long workspaceId; - - /** - * 所属单位id - */ - private Long ouId; + private List ouTypeCode; /** * 名称 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java new file mode 100644 index 00000000..15b2139a --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java @@ -0,0 +1,58 @@ +package cn.axzo.tyr.server.controller.role; + + +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.framework.domain.web.result.ApiPageResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; +import cn.axzo.tyr.client.feign.SaasPermissionGroupApi; +import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; +import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO; +import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao; +import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao; +import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@Slf4j +@RestController +@RequiredArgsConstructor +public class SaasPermissionGroupController implements SaasPermissionGroupApi { + + private final SaasPermissionGroupDao permissionGroupDao; + private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao; + private final SaasPermissionGroupScopeDao permissionGroupScopeDao; + + @Override + public ApiResult saveOrUpdate(SaasPermissionGroupVO req) { + return null; + } + + @Override + public ApiResult getById(Long id) { + return null; + } + + @Override + public ApiPageResult query(QuerySaasPermissionGroupReq req) { + return null; + } + + @Transactional + @Override + public ApiResult delete(List id) { + // 删除权限集 + permissionGroupDao.delete(id); + // 删除权限集权限关联关系 + pgroupPermissionRelationDao.deleteByPGroupId(id); + // 删除权限集作用范围 + permissionGroupScopeDao.deleteByPGroupId(id); + return ApiResult.ok(); + } + +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java index 79f018e9..9aa2250c 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java @@ -53,6 +53,11 @@ public class SaasRoleController implements SaasRoleApi { return ApiResult.ok(roleService.query(req)); } + @Override + public ApiResult delete(List id) { + return null; + } + @Override public ApiResult> queryByIdentityIdType(Long identityId, Integer identityType,Long workspaceId,Long ouId) { return ApiResult.ok(roleService.queryByIdentityIdType(identityId, identityType,workspaceId,ouId)); diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java index c78b9a9c..4971b46d 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java @@ -15,11 +15,13 @@ import java.util.List; @RestController @RequiredArgsConstructor public class SaasRoleGroupController implements SaasRoleGroupApi { + private final SaasRoleGroupService saasRoleGroupService; @Override - public ApiResult saveOrUpdate(SaasRoleGroupVO req) { - return null; + public ApiResult saveOrUpdate(SaasRoleGroupVO req) { + saasRoleGroupService.saveOrUpdate(req); + return ApiResult.ok(); } @Override @@ -28,7 +30,8 @@ public class SaasRoleGroupController implements SaasRoleGroupApi { } @Override - public ApiResult delete(Long id) { - return null; + public ApiResult delete(List id) { + + return ApiResult.ok(); } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java index 32ebafaa..808a1725 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java @@ -23,6 +23,12 @@ public class SaasPermissionGroupScope extends BaseEntity { + public void delete(List id) { + lambdaUpdate() + .in(BaseEntity::getId,id) + .set(BaseEntity::getIsDelete,id) + .update(); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPermissionGroupScopeDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPermissionGroupScopeDao.java index 00587ebd..17ee34a8 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPermissionGroupScopeDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPermissionGroupScopeDao.java @@ -1,5 +1,7 @@ package cn.axzo.tyr.server.repository.service; +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup; import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope; import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper; @@ -7,8 +9,16 @@ import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupScopeMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public class SaasPermissionGroupScopeDao extends ServiceImpl { + public void deleteByPGroupId(List pgroupId) { + lambdaUpdate() + .in(SaasPermissionGroupScope::getPgroupId,pgroupId) + .set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value) + .update(); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupPermissionRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupPermissionRelationDao.java index f0c9efb9..f7317bd7 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupPermissionRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupPermissionRelationDao.java @@ -1,5 +1,7 @@ package cn.axzo.tyr.server.repository.service; +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.mapper.SaasPgroupPermissionRelationMapper; @@ -17,5 +19,13 @@ public class SaasPgroupPermissionRelationDao extends ServiceImpl() .in(SaasPgroupPermissionRelation::getFeatureId, permissionPointIds)); } + + public void deleteByPGroupId(List pgroupId) { + lambdaUpdate() + .in(SaasPgroupPermissionRelation::getGroupId,pgroupId) + .set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupRoleRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupRoleRelationDao.java index 624e7e5d..27057033 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupRoleRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasPgroupRoleRelationDao.java @@ -1,5 +1,7 @@ package cn.axzo.tyr.server.repository.service; +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup; import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation; import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper; @@ -7,8 +9,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasPgroupRoleRelationMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public class SaasPgroupRoleRelationDao extends ServiceImpl { + public void deleteByRoleId(List roleId) { + lambdaUpdate() + .in(SaasPgroupRoleRelation::getRoleId,roleId) + .set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleDao.java index 3d413049..68234eda 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleDao.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.server.repository.service; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.entity.SaasRoleGroup; import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper; @@ -7,8 +8,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public class SaasRoleDao extends ServiceImpl { + public void delete(List id) { + lambdaUpdate() + .in(BaseEntity::getId,id) + .set(BaseEntity::getIsDelete,id) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupDao.java index 5fdc2ffb..6900378d 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupDao.java @@ -45,5 +45,12 @@ public class SaasRoleGroupDao extends ServiceImpl id) { + lambdaUpdate() + .in(BaseEntity::getId,id) + .set(BaseEntity::getIsDelete,id) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupRelationDao.java index f8a24f9f..05eba429 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleGroupRelationDao.java @@ -1,5 +1,7 @@ package cn.axzo.tyr.server.repository.service; +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.server.repository.entity.SaasRoleGroup; import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation; import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper; @@ -7,8 +9,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupRelationMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public class SaasRoleGroupRelationDao extends ServiceImpl { + public void deleteByRoleGroupId(List roleGroupId) { + lambdaUpdate() + .in(SaasRoleGroupRelation::getSaasRoleGroupId, roleGroupId) + .set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleUserRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleUserRelationDao.java index 3866cbf8..fde44b5f 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleUserRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/SaasRoleUserRelationDao.java @@ -21,5 +21,13 @@ public class SaasRoleUserRelationDao extends ServiceImpl roleId) { + lambdaUpdate() + .in(SaasRoleUserRelation::getRoleId,roleId) + .set(BaseEntity::getIsDelete,TableIsDeleteEnum.DELETE.value) + .update(); + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java index d50e03d2..456d2f59 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java @@ -7,4 +7,8 @@ import java.util.List; public interface SaasRoleGroupService { List getList(QuerySaasRoleGroupReq req); + + void saveOrUpdate(SaasRoleGroupVO req); + + void delete(Long id); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java index d7dfa8c2..a2a5cac6 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java @@ -1,12 +1,13 @@ package cn.axzo.tyr.server.service.impl; +import java.util.Date; import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO; +import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation; import cn.axzo.tyr.server.repository.entity.SaasRoleGroup; import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation; -import cn.axzo.tyr.server.repository.service.SaasRoleGroupDao; -import cn.axzo.tyr.server.repository.service.SaasRoleGroupRelationDao; +import cn.axzo.tyr.server.repository.service.*; import cn.axzo.tyr.server.service.SaasRoleGroupService; import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; @@ -27,6 +28,11 @@ import java.util.stream.Collectors; public class SaasRoleGroupServiceImpl implements SaasRoleGroupService { private final SaasRoleGroupDao saasRoleGroupDao; private final SaasRoleGroupRelationDao saasRoleGroupRelationDao; + private final SaasRoleDao roleDao; + private final SaasPgroupRoleRelationDao pgroupRoleRelationDao; + private final SaasPermissionGroupDao permissionGroupDao; + private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao; + private final SaasRoleUserRelationDao roleUserRelationDao; @Override public List getList(QuerySaasRoleGroupReq req) { @@ -57,7 +63,7 @@ public class SaasRoleGroupServiceImpl implements SaasRoleGroupService { .map(e -> { SaasRoleGroupVO target = BeanUtil.copyProperties(e, SaasRoleGroupVO.class); if (StringUtils.isNotBlank(e.getOuTypeCode())) { - target.setOuTypeCode(Arrays.stream(e.getOuTypeCode().split(",")).filter(StringUtils::isNotBlank).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList())); + target.setOuTypeCode(Arrays.stream(e.getOuTypeCode().split(",")).filter(StringUtils::isNotBlank).map(s -> s.trim()).collect(Collectors.toList())); } target.setRoleIds(groupRoleMap.get(e.getId())); return target; @@ -65,4 +71,35 @@ public class SaasRoleGroupServiceImpl implements SaasRoleGroupService { return results; } + + @Override + public void saveOrUpdate(SaasRoleGroupVO req) { + // 拼接ouTypeCode字符串 + String ouTypeCodeStr = null; + if (CollectionUtils.isNotEmpty(req.getOuTypeCode())) { + ouTypeCodeStr = StringUtils.join(req.getOuTypeCode(),","); + } + SaasRoleGroup saasRoleGroup = new SaasRoleGroup(); + saasRoleGroup.setId(req.getId()); + saasRoleGroup.setWorkspaceTypeCode(req.getWorkspaceTypeCode()); + saasRoleGroup.setOuTypeCode(ouTypeCodeStr); + saasRoleGroup.setName(req.getName()); + saasRoleGroup.setSort(req.getSort()); + saasRoleGroupDao.saveOrUpdate(saasRoleGroup); + } + + @Override + public void delete(Long id) { + // 删除分组 + + // 删除角色分组关联关系 + + // + + + // 删除权限分组关联关系 + // 删除权限 + // 删除权限集关联关系 + // 删除权限集 + } } From 57d5ab56a4b43a42aaf5659c41ff31334b0e122d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BB=B4=E4=BC=9F?= Date: Tue, 12 Sep 2023 16:24:00 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E8=BA=AB=E4=BB=BDid=E5=92=8C=E8=BA=AB=E4=BB=BD=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=89=B9=E9=87=8F=E6=9F=A5=E8=AF=A2=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/tyr/client/feign/SaasRoleApi.java | 4 +-- .../res/QueryBatchByIdentityIdTypeRes.java | 31 +++++++++++++++++++ .../axzo/tyr/client/model/vo/SaasRoleVO.java | 16 ---------- .../controller/role/SaasRoleController.java | 4 +-- .../axzo/tyr/server/service/RoleService.java | 3 +- .../server/service/impl/RoleServiceImpl.java | 13 ++++++-- 6 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/res/QueryBatchByIdentityIdTypeRes.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java index 47daff72..a2091a01 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleApi.java @@ -3,6 +3,7 @@ package cn.axzo.tyr.client.feign; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; +import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; import cn.axzo.tyr.client.model.vo.SaasRoleVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -12,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestParam; import javax.validation.constraints.NotNull; import java.util.List; -import java.util.Map; /** * 角色 @@ -60,7 +60,7 @@ public interface SaasRoleApi { * @return */ @GetMapping("/api/saasRole/queryBatchByIdentityIdType") - ApiResult>> queryBatchByIdentityIdType(@RequestBody List req); + ApiResult> queryBatchByIdentityIdType(@RequestBody List req); diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/QueryBatchByIdentityIdTypeRes.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/QueryBatchByIdentityIdTypeRes.java new file mode 100644 index 00000000..a1632fc9 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/QueryBatchByIdentityIdTypeRes.java @@ -0,0 +1,31 @@ +package cn.axzo.tyr.client.model.res; + +import cn.axzo.tyr.client.model.vo.SaasRoleVO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class QueryBatchByIdentityIdTypeRes { + + Long identityId; + + /** + * 身份类型 1:工人 2:班组长 3:从业人员 4:监管人员 5:运营人员 + */ + Integer identityType; + + Long workspaceId; + + Long ouId; + + List role; + + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java index 1de30b24..4ab79894 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.client.model.vo; -import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -8,7 +7,6 @@ import lombok.NoArgsConstructor; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; @Data @AllArgsConstructor @@ -38,11 +36,6 @@ public class SaasRoleVO { */ private Long updateBy; - /** - * 分组id(这个关联关系应该放在上一级,从结构上看,上下级是多对多的,如果放在下级返回上级的id不太合适) - */ -// private List roleGroupIds; - /** * 权限组 */ @@ -53,17 +46,8 @@ public class SaasRoleVO { */ private Long isDelete; - private Date createAt; private Date updateAt; - /** - * 获取角色对应所用的权限 - * @return - */ - public List getFeature(){ - return this.permissionGroup.stream().map(SaasPermissionGroupVO::getFeature).flatMap(List::stream).distinct().collect(Collectors.toList()); - } - } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java index 9aa2250c..e87f63a9 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java @@ -6,6 +6,7 @@ import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.SaasRoleApi; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; +import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; import cn.axzo.tyr.client.model.vo.SaasRoleVO; import cn.axzo.tyr.server.service.RoleService; import com.google.common.collect.Lists; @@ -16,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import java.util.List; -import java.util.Map; /** * 权限 @@ -64,7 +64,7 @@ public class SaasRoleController implements SaasRoleApi { } @Override - public ApiResult>> queryBatchByIdentityIdType(List req) { + public ApiResult> queryBatchByIdentityIdType(List req) { return ApiResult.ok(roleService.queryBatchByIdentityIdType(req)); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/RoleService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/RoleService.java index b8df6dd9..97d42ee5 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/RoleService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/RoleService.java @@ -2,6 +2,7 @@ package cn.axzo.tyr.server.service; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; +import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; import cn.axzo.tyr.client.model.vo.SaasRoleVO; import java.util.List; @@ -21,5 +22,5 @@ public interface RoleService { List query(QuerySaasRoleReq req); - Map> queryBatchByIdentityIdType(List req); + List queryBatchByIdentityIdType(List req); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java index 4c0ff699..4450c7b9 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java @@ -6,6 +6,7 @@ import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; +import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO; import cn.axzo.tyr.client.model.vo.SaasRoleVO; import cn.axzo.tyr.server.repository.entity.*; @@ -145,10 +146,16 @@ public class RoleServiceImpl implements RoleService { } @Override - public Map> queryBatchByIdentityIdType(List req) { - HashMap> result = new HashMap<>(); + public List queryBatchByIdentityIdType(List req) { + List result = new ArrayList<>(); req.forEach(e -> { - result.put(e,queryByIdentityIdType(e.getIdentityId(),e.getIdentityType(),e.getWorkspaceId(),e.getOuId())); + result.add(QueryBatchByIdentityIdTypeRes.builder() + .identityId(e.getIdentityId()) + .identityType(e.getIdentityType()) + .workspaceId(e.getWorkspaceId()) + .ouId(e.getOuId()) + .role(queryByIdentityIdType(e.getIdentityId(),e.getIdentityType(),e.getWorkspaceId(),e.getOuId())) + .build()); }); return result; } From 38dd3d3f7988bf5b02025735afdb9425b8b83af5 Mon Sep 17 00:00:00 2001 From: yangsong Date: Tue, 12 Sep 2023 16:42:43 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../role/SaasPermissionGroupController.java | 7 +- .../service/PermissionGroupService.java | 3 +- .../service/impl/PermissionGroupImpl.java | 64 +++++++++++++++++++ 3 files changed, 69 insertions(+), 5 deletions(-) diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java index 15b2139a..27bc90e0 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasPermissionGroupController.java @@ -1,16 +1,15 @@ package cn.axzo.tyr.server.controller.role; -import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; -import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.client.feign.SaasPermissionGroupApi; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO; import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao; import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao; import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao; +import cn.axzo.tyr.server.service.PermissionGroupService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; @@ -18,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; - @Slf4j @RestController @RequiredArgsConstructor @@ -27,6 +25,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi { private final SaasPermissionGroupDao permissionGroupDao; private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao; private final SaasPermissionGroupScopeDao permissionGroupScopeDao; + private final PermissionGroupService permissionGroupService; @Override public ApiResult saveOrUpdate(SaasPermissionGroupVO req) { @@ -40,7 +39,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi { @Override public ApiPageResult query(QuerySaasPermissionGroupReq req) { - return null; + return ApiPageResult.ok(permissionGroupService.page(req)); } @Transactional diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionGroupService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionGroupService.java index 19017dc6..d6f96b88 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionGroupService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionGroupService.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.server.service; +import cn.axzo.framework.domain.page.PageResp; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO; @@ -19,6 +20,6 @@ public interface PermissionGroupService { */ public List query(QuerySaasPermissionGroupReq req); - + PageResp page(QuerySaasPermissionGroupReq req); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java index b7f04ebe..f6fba882 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java @@ -1,6 +1,7 @@ package cn.axzo.tyr.server.service.impl; import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.framework.domain.page.PageResp; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; @@ -13,6 +14,7 @@ import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao; import cn.axzo.tyr.server.repository.service.SaasPgroupRoleRelationDao; import cn.axzo.tyr.server.service.PermissionGroupService; import cn.axzo.tyr.server.service.PermissionPointService; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; @@ -97,4 +99,66 @@ public class PermissionGroupImpl implements PermissionGroupService { ).collect(Collectors.toList()); } + + @Override + public PageResp page(QuerySaasPermissionGroupReq req) { + // 如果角色id不为空则先查询角色权限集关联表 + IPage iPage = req.toPage(); + if (CollectionUtils.isNotEmpty(req.getRoleIds())) { + List relationList = roleRelationDao.lambdaQuery() + .in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds()) + .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list(); + List hitIds = relationList.stream().map(SaasPgroupRoleRelation::getGroupId).distinct().collect(Collectors.toList()); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(req.getIds())) { + req.getIds().retainAll(hitIds); + } else { + req.setIds(hitIds); + } + // 如果没查询到关联关系则直接返回 + if (CollectionUtils.isEmpty(relationList)) { + return PageResp.zero(iPage.getCurrent(), iPage.getSize()); + } + } + // 查询权限集 + iPage = permissionGroupDao.lambdaQuery() + .in(CollectionUtils.isNotEmpty(req.getIds()), BaseEntity::getId, req.getIds()) + .eq(req.getIsCommon() != null, SaasPermissionGroup::getIsCommon, req.getIsCommon()) + .eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy()) + .eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy()) + .eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType()) + .like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName()) + .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .orderByDesc(BaseEntity::getId) + .page(iPage); + List groupList = iPage.getRecords(); + // 如果权限集为空则直接返回 + if (CollectionUtils.isEmpty(groupList)) { + return PageResp.zero(iPage.getCurrent(), iPage.getSize()); + } + // 查询权限集关联的权限 + List permissionList = permissionRelationDao.lambdaQuery() + .in(SaasPgroupPermissionRelation::getGroupId, groupList.stream().map(BaseEntity::getId).collect(Collectors.toList())) + .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list(); + List feature = null; + if (CollectionUtils.isNotEmpty(permissionList)) { + // 查询featureCode + feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList())); + } + // 组装填充字段 + List finalFeature = feature; + List pageList = groupList.stream().map(group -> + SaasPermissionGroupVO.builder() + .id(group.getId()) + .name(group.getName()) + .feature(finalFeature) + .createBy(group.getCreateBy()) + .updateBy(group.getUpdateBy()) + .type(group.getType()) + .build() + ).collect(Collectors.toList()); + return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList); + } + } From f948608fbf55eeb60b13f5492cd26e907b80d108 Mon Sep 17 00:00:00 2001 From: yangsong Date: Tue, 12 Sep 2023 16:47:43 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java index 4ab79894..a2fc1ec7 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRoleVO.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.client.model.vo; +import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -7,6 +8,7 @@ import lombok.NoArgsConstructor; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Data @AllArgsConstructor @@ -50,4 +52,11 @@ public class SaasRoleVO { private Date updateAt; + /** + * 获取角色对应所用的权限 + * @return + */ + public List getFeature(){ + return this.permissionGroup.stream().map(SaasPermissionGroupVO::getFeature).flatMap(List::stream).distinct().collect(Collectors.toList()); + } } From 5cbf14b79d7917c5eab28735764fe267ce74d396 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 12 Sep 2023 17:57:50 +0800 Subject: [PATCH 07/10] =?UTF-8?q?add=20-=20=E4=BA=A7=E5=93=81=E4=B8=8E?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=82=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E5=85=B8=20code=20=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/product/ProductFeatureRelationSearchReq.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationSearchReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationSearchReq.java index e9a0cb50..169ba66b 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationSearchReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationSearchReq.java @@ -29,4 +29,9 @@ public class ProductFeatureRelationSearchReq { */ private Long dictCodeId; + /** + * 字典的 code + */ + private String dictCode; + } From 0ad3ae6483086703945660d9cf84f374cd1565aa Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 12 Sep 2023 18:23:41 +0800 Subject: [PATCH 08/10] =?UTF-8?q?add=20-=20=E4=BA=A7=E5=93=81=E4=B8=8E?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=82=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E5=85=B8=20code=20=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/entity/SaasProductModuleFeatureRelation.java | 5 +++++ .../service/impl/ProductFeatureRelationServiceImpl.java | 2 ++ 2 files changed, 7 insertions(+) diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasProductModuleFeatureRelation.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasProductModuleFeatureRelation.java index 698d783a..ea2d0a19 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasProductModuleFeatureRelation.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasProductModuleFeatureRelation.java @@ -32,6 +32,11 @@ public class SaasProductModuleFeatureRelation extends BaseEntity list = saasProductModuleFeatureRelationDao.lambdaQuery() .eq(SaasProductModuleFeatureRelation::getProductModuleId, req.getProductModuleId()) .eq(Objects.nonNull(req.getDictCodeId()), SaasProductModuleFeatureRelation::getDictCodeId, req.getDictCodeId()) + .eq(StringUtils.hasLength(req.getDictCode()), SaasProductModuleFeatureRelation::getDictCode, req.getDictCode()) .list(); return ApiResult.ok(BeanMapper.copyList(list, ProductFeatureRelationVO.class)); } From 045c1f8db6080a0fe59b9b45269267a8498a9116 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 12 Sep 2023 18:49:53 +0800 Subject: [PATCH 09/10] =?UTF-8?q?add=20-=20=E4=BA=A7=E5=93=81=E4=B8=8E?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=82=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E5=85=B8=20code=20=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/product/ProductFeatureRelationUpdateReq.java | 5 +++++ .../service/impl/ProductFeatureRelationServiceImpl.java | 1 + 2 files changed, 6 insertions(+) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationUpdateReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationUpdateReq.java index 3cdac030..6ed6fa36 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationUpdateReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductFeatureRelationUpdateReq.java @@ -32,6 +32,11 @@ public class ProductFeatureRelationUpdateReq { @NotNull(message = "字典 ouType ID 不能为空") private Long dictCodeId; + /** + * 字典的 code + */ + private String dictCode; + /** * 权限点 ID */ diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java index 8e1d2ac4..5dbd6134 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java @@ -56,6 +56,7 @@ public class ProductFeatureRelationServiceImpl implements ProductFeatureRelation SaasProductModuleFeatureRelation relation = new SaasProductModuleFeatureRelation(); relation.setProductModuleId(i.getProductModuleId()); relation.setDictCodeId(i.getDictCodeId()); + relation.setDictCode(i.getDictCode()); relation.setFeatureId(featureId); saveList.add(relation); })); From d1c7059e6d342a14cf454952b61c82024f64b046 Mon Sep 17 00:00:00 2001 From: yangsong Date: Tue, 12 Sep 2023 18:57:07 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/enums/PermissionGroupType.java | 2 +- .../client/model/enums/PermissionScope.java | 29 ++++++++++++++++ .../model/enums/PermissionScopeType.java | 29 ++++++++++++++++ .../model/vo/SaasPermissionGroupVO.java | 9 +++++ .../model/vo/SaasRolePermissionScopeVO.java | 2 ++ .../entity/SaasPermissionGroup.java | 4 +++ .../entity/SaasPermissionGroupScope.java | 2 +- .../service/impl/PermissionGroupImpl.java | 34 ++++++++++++++++--- 8 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScope.java create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScopeType.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionGroupType.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionGroupType.java index 6a92fd64..d2808dbd 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionGroupType.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionGroupType.java @@ -10,7 +10,7 @@ import java.util.Map; @AllArgsConstructor public enum PermissionGroupType { COMMON(1, "通用"), - Special (0, "例外"), + SPECIAL(0, "例外"), ; private Integer code; diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScope.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScope.java new file mode 100644 index 00000000..5fbd890c --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScope.java @@ -0,0 +1,29 @@ +package cn.axzo.tyr.client.model.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +@Getter +@AllArgsConstructor +public enum PermissionScope { + INCLUDE(1, "正选"), + EXCLUDE (2, "反选"), + ; + + private Integer code; + private String desc; + + private static final Map MAPPING = new HashMap<>(); + static { + for (PermissionScope type : PermissionScope.values()) { + MAPPING.put(type.code, type); + } + } + + public static PermissionScope apply(Integer code) { + return code == null ? null :MAPPING.get(code); + } +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScopeType.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScopeType.java new file mode 100644 index 00000000..d08e51a0 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/PermissionScopeType.java @@ -0,0 +1,29 @@ +package cn.axzo.tyr.client.model.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +@Getter +@AllArgsConstructor +public enum PermissionScopeType { + WORKSPACE("workspace", "项目部"), + OU ("ou", "单位"), + ; + + private String code; + private String desc; + + private static final Map MAPPING = new HashMap<>(); + static { + for (PermissionScopeType type : PermissionScopeType.values()) { + MAPPING.put(type.code, type); + } + } + + public static PermissionScopeType apply(Integer code) { + return code == null ? null :MAPPING.get(code); + } +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasPermissionGroupVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasPermissionGroupVO.java index c22753a2..97102097 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasPermissionGroupVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasPermissionGroupVO.java @@ -46,9 +46,18 @@ public class SaasPermissionGroupVO { */ private String type; + /** + * 是否为通用权限集 1:是 0:否 + */ + private Integer isCommon; + /** * 权限 */ private List feature; + /** + * 权限范围 + */ + private List scopes; } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRolePermissionScopeVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRolePermissionScopeVO.java index 5923b3d7..283cec37 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRolePermissionScopeVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaasRolePermissionScopeVO.java @@ -14,6 +14,8 @@ public class SaasRolePermissionScopeVO { private Long id; + private Long pgroupId; + /** * 选择类型: 1.正选 2.反选 */ diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroup.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroup.java index 23c6491b..ea68f23a 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroup.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroup.java @@ -36,11 +36,15 @@ public class SaasPermissionGroup extends BaseEntity { * 创建者 */ private Long createBy; + + private String createName; /** * 更新者 */ private Long updateBy; + private String updateName; + /** * 权限集类型:feature data */ diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java index 808a1725..ad530253 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPermissionGroupScope.java @@ -27,7 +27,7 @@ public class SaasPermissionGroupScope extends BaseEntity query(QuerySaasPermissionGroupReq req) { @@ -56,6 +62,12 @@ public class PermissionGroupImpl implements PermissionGroupService { .in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds()) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .list(); + List hitIds = relationList.stream().map(SaasPgroupRoleRelation::getGroupId).distinct().collect(Collectors.toList()); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(req.getIds())) { + req.getIds().retainAll(hitIds); + } else { + req.setIds(hitIds); + } // 如果没查询到关联关系则直接返回 if (CollectionUtils.isEmpty(relationList)) { return new ArrayList<>(); @@ -68,6 +80,7 @@ public class PermissionGroupImpl implements PermissionGroupService { .eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy()) .eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy()) .eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType()) + .like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName()) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .orderByDesc(BaseEntity::getId) .list(); @@ -75,9 +88,10 @@ public class PermissionGroupImpl implements PermissionGroupService { if (CollectionUtils.isEmpty(groupList)) { return new ArrayList<>(); } + List groupIds = groupList.stream().map(BaseEntity::getId).collect(Collectors.toList()); // 查询权限集关联的权限 List permissionList = permissionRelationDao.lambdaQuery() - .in(SaasPgroupPermissionRelation::getGroupId, groupList.stream().map(BaseEntity::getId).collect(Collectors.toList())) + .in(SaasPgroupPermissionRelation::getGroupId, groupIds) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .list(); List feature = null; @@ -85,6 +99,10 @@ public class PermissionGroupImpl implements PermissionGroupService { // 查询featureCode feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList())); } + List saasPermissionGroupScopes = saasPermissionGroupScopeDao.lambdaQuery() + .in(SaasPermissionGroupScope::getPgroupId, groupIds) + .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list(); // 组装填充字段 List finalFeature = feature; return groupList.stream().map(group -> @@ -92,9 +110,11 @@ public class PermissionGroupImpl implements PermissionGroupService { .id(group.getId()) .name(group.getName()) .feature(finalFeature) + .scopes(saasPermissionGroupScopes.stream().map(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class)).collect(Collectors.toList())) .createBy(group.getCreateBy()) .updateBy(group.getUpdateBy()) .type(group.getType()) + .isCommon(group.getIsCommon()) .build() ).collect(Collectors.toList()); @@ -129,16 +149,17 @@ public class PermissionGroupImpl implements PermissionGroupService { .eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType()) .like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName()) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) - .orderByDesc(BaseEntity::getId) + .orderByAsc(BaseEntity::getCreateAt).orderByAsc(BaseEntity::getId) .page(iPage); List groupList = iPage.getRecords(); // 如果权限集为空则直接返回 if (CollectionUtils.isEmpty(groupList)) { return PageResp.zero(iPage.getCurrent(), iPage.getSize()); } + List groupIds = groupList.stream().map(BaseEntity::getId).collect(Collectors.toList()); // 查询权限集关联的权限 List permissionList = permissionRelationDao.lambdaQuery() - .in(SaasPgroupPermissionRelation::getGroupId, groupList.stream().map(BaseEntity::getId).collect(Collectors.toList())) + .in(SaasPgroupPermissionRelation::getGroupId, groupIds) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .list(); List feature = null; @@ -146,6 +167,10 @@ public class PermissionGroupImpl implements PermissionGroupService { // 查询featureCode feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList())); } + List saasPermissionGroupScopes = saasPermissionGroupScopeDao.lambdaQuery() + .in(SaasPermissionGroupScope::getPgroupId, groupIds) + .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list(); // 组装填充字段 List finalFeature = feature; List pageList = groupList.stream().map(group -> @@ -153,12 +178,13 @@ public class PermissionGroupImpl implements PermissionGroupService { .id(group.getId()) .name(group.getName()) .feature(finalFeature) + .scopes(saasPermissionGroupScopes.stream().map(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class)).collect(Collectors.toList())) .createBy(group.getCreateBy()) .updateBy(group.getUpdateBy()) .type(group.getType()) + .isCommon(group.getIsCommon()) .build() ).collect(Collectors.toList()); return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList); } - }