From 707e748a646e0ba435d5df0508939969d2a6e6e1 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Thu, 19 Oct 2023 16:26:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor(role-query):=20=E6=94=B9=E5=8F=98?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/req/RoleWithUserQueryReq.java | 2 +- .../tyr/server/repository/dao/SaasRoleDao.java | 7 +++++++ .../repository/mapper/SaasRoleMapper.java | 4 ++++ .../server/service/impl/RoleServiceImpl.java | 7 +------ .../main/resources/mapper/SaasRoleMapper.xml | 16 ++++++++++++++++ .../tyr/server/permission/RoleUserTest.java | 18 ++++++++++++++++++ 6 files changed, 47 insertions(+), 7 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/RoleWithUserQueryReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/RoleWithUserQueryReq.java index 535038b4..af943c4c 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/RoleWithUserQueryReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/RoleWithUserQueryReq.java @@ -25,5 +25,5 @@ public class RoleWithUserQueryReq extends PageRequest { private Long workspaceId; /** 企业工作台参建类型 **/ - private List workspaceJoinType; + private Integer workspaceJoinType; } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleDao.java index bd044f10..95188f8d 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleDao.java @@ -4,10 +4,13 @@ import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.client.common.enums.RoleTypeEnum; import cn.axzo.tyr.client.model.enums.IdentityType; +import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser; import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Repository; @@ -90,5 +93,9 @@ public class SaasRoleDao extends ServiceImpl { .eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); } + public Page pageQueryForOUWorkspace(RoleWithUserQueryReq req) { + IPage page = new Page<>(req.getPage(), req.getPageSize()); + return this.baseMapper.pageQueryForOUWorkspace(page, req.getOuId(), req.getWorkspaceId(), req.getWorkspaceJoinType()); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleMapper.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleMapper.java index 46c3cf69..0fe6cad2 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleMapper.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleMapper.java @@ -4,6 +4,8 @@ import cn.axzo.tyr.client.model.enums.IdentityType; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -17,5 +19,7 @@ public interface SaasRoleMapper extends BaseMapper { List listSuperAdminByWorkspace(List workspaceIds); List listRoleUserByPermissionGroup(List permissionGroupIds, Set workspaceIds); + + Page pageQueryForOUWorkspace(IPage page, Long ouId, Long workspaceId, Integer workspaceJoinType); } 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 5d0cf7b3..062c9a0d 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 @@ -454,12 +454,7 @@ public class RoleServiceImpl implements RoleService { public PageResp queryRoleWithUser(RoleWithUserQueryReq req) { page2Default(req); //按role进行分页查询 - - Page rolePage = saasRoleDao - .page(new Page<>(req.getPage(), req.getPageSize()), - new LambdaQueryWrapper() - .eq(SaasRole::getOwnerOuId, req.getOuId()) - .eq(SaasRole::getWorkspaceId, req.getWorkspaceId()) - .eq(SaasRole::getRoleType, RoleTypeEnum.COMMON.getValue())); + Page rolePage = saasRoleDao.pageQueryForOUWorkspace(req); if (CollectionUtil.isEmpty(rolePage.getRecords())) { return PageResp.list(req.getPage(), req.getPageSize(), 0L, Collections.emptyList()); } diff --git a/tyr-server/src/main/resources/mapper/SaasRoleMapper.xml b/tyr-server/src/main/resources/mapper/SaasRoleMapper.xml index d6f77e26..8558d3f2 100644 --- a/tyr-server/src/main/resources/mapper/SaasRoleMapper.xml +++ b/tyr-server/src/main/resources/mapper/SaasRoleMapper.xml @@ -90,4 +90,20 @@ + + \ No newline at end of file diff --git a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/RoleUserTest.java b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/RoleUserTest.java index 01c6ccda..a5a7183b 100644 --- a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/RoleUserTest.java +++ b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/RoleUserTest.java @@ -10,8 +10,11 @@ import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.res.RoleWithUserRes; import cn.axzo.tyr.server.controller.role.SaasRoleController; import cn.axzo.tyr.server.repository.dao.SaasFeatureDao; +import cn.axzo.tyr.server.repository.dao.SaasRoleDao; import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao; +import cn.axzo.tyr.server.repository.entity.SaasRole; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -36,6 +39,9 @@ public class RoleUserTest { @Autowired private SaasRoleController controller; + @Autowired + private SaasRoleDao saasRoleDao; + @Test public void testList() { saasRoleUserRelationDao.deleteByUser(BaseWorkspaceModel.builder() @@ -59,5 +65,17 @@ public class RoleUserTest { System.out.println(JSON.toJSONString(result)); } + @Test + public void testPageQueryForOUWorkspace() { + RoleWithUserQueryReq req = new RoleWithUserQueryReq(); + req.setOuId(5195L); + req.setWorkspaceId(371L); + req.setWorkspaceJoinType(2); + req.setPage(1L); + req.setPageSize(20L); + Page page = saasRoleDao.pageQueryForOUWorkspace(req); + System.out.println(JSON.toJSONString(page)); + } + }