From f75742137500b8e28d1982024303d35c314bbf9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BC=98=E6=98=8A?= Date: Wed, 18 Oct 2023 16:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8D=E5=AD=97=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A7=92=E8=89=B2=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/tyr/client/feign/TyrSaasRoleApi.java | 9 ++++++++ .../client/model/req/QueryRoleByNameReq.java | 21 ++++++++++++++++++ .../req/CreateSuperAdminRoleParam.java | 22 ------------------- .../controller/role/SaasRoleController.java | 6 +++++ .../server/repository/dao/SaasRoleDao.java | 11 +++++++++- .../axzo/tyr/server/service/RoleService.java | 8 ++++++- .../server/service/impl/RoleServiceImpl.java | 19 +++++++--------- 7 files changed, 61 insertions(+), 35 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/req/QueryRoleByNameReq.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleApi.java index 9894c45f..cf1a3ea5 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleApi.java @@ -2,6 +2,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.QueryRoleByNameReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; @@ -72,4 +74,11 @@ public interface TyrSaasRoleApi { @PostMapping("/api/saasRole/isSuperAdmin") ApiResult> isSuperAdmin(@RequestBody List req); + /** + * 通过角色名字获取角色信息 + * @return + */ + @PostMapping("/api/saasRole/findRoleByName") + ApiResult> findRoleByName(@RequestBody @Valid QueryRoleByNameReq req); + } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/QueryRoleByNameReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/QueryRoleByNameReq.java new file mode 100644 index 00000000..8fac7a6f --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/QueryRoleByNameReq.java @@ -0,0 +1,21 @@ +package cn.axzo.tyr.client.model.req; + +import cn.axzo.tyr.client.model.base.BaseWorkspaceAndOuModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotEmpty; +import java.util.List; + +/** + * @author honghao.zhang + * @since 2023/10/18 16:08 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class QueryRoleByNameReq extends BaseWorkspaceAndOuModel { + + @NotEmpty(message = "角色名字不能为空") + private List roleNames; + +} \ No newline at end of file diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateSuperAdminRoleParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateSuperAdminRoleParam.java index 37714d17..3901cddf 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateSuperAdminRoleParam.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateSuperAdminRoleParam.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.client.model.roleuser.req; -import cn.axzo.tyr.client.common.enums.RoleTypeEnum; import cn.axzo.tyr.client.model.enums.IdentityType; import lombok.Data; @@ -21,27 +20,6 @@ public class CreateSuperAdminRoleParam { @NotNull(message = "ouId不能为空") private Long ouId; - /** - * 适用单位类型 1:总包 2:建设单位 4:监理单位 8:劳务分包 16:专业分包 0都可以用 只会挂在最末级 - *

- * 业务层,这个字段不要直接用。有变种的getter、setter,或者直接用解释工具。 - */ - private Long fitOuTypeBit; - - /** - * - * 适用节点类型 1:部门 2:班组 4:小组 只会挂在最末级 - * - * 业务层,这个字段不要直接用 - */ - private Long fitOuNodeTypeBit; - - /** - * 角色Id,必填 - * 只能传SUPER_ADMIN,ADMIN - */ - private RoleTypeEnum roleType; - /** * 身份id */ 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 45f3dd69..c9364c55 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 @@ -4,6 +4,7 @@ import cn.axzo.basics.common.exception.ServiceException; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.TyrSaasRoleApi; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; +import cn.axzo.tyr.client.model.req.QueryRoleByNameReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; @@ -74,4 +75,9 @@ public class SaasRoleController implements TyrSaasRoleApi { return ApiResult.ok(roleService.isSuperAdmin(req)); } + @Override + public ApiResult> findRoleByName(QueryRoleByNameReq req) { + return ApiResult.ok(roleService.findRoleByName(req)); + } + } 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 d615b1e4..bd044f10 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 @@ -8,7 +8,6 @@ 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 cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Repository; @@ -81,5 +80,15 @@ public class SaasRoleDao extends ServiceImpl { .select(SaasRole::getId) .list(); } + + public List findRoleByName(Long ouId, Long workspaceId, + List roleNames) { + return this.lambdaQuery() + .eq(workspaceId != null && workspaceId != 0, SaasRole::getWorkspaceId, workspaceId) + .eq(ouId != null && ouId != 0, SaasRole::getOwnerOuId, ouId) + .in(CollectionUtils.isNotEmpty(roleNames), SaasRole::getName, roleNames) + .eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); + } + } 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 dd53ae73..5bfbec45 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 @@ -1,8 +1,8 @@ package cn.axzo.tyr.server.service; -import cn.axzo.tyr.client.common.enums.WorkspaceJoinType; import cn.axzo.tyr.client.model.enums.IdentityType; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; +import cn.axzo.tyr.client.model.req.QueryRoleByNameReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; @@ -51,4 +51,10 @@ public interface RoleService { */ Set filterPermissionPoint(Set role, TyrSaasAuthServiceImpl.UserRoleInfoMap userRoleInfoMap); + /** + * 通过角色名字获取角色信息 + * @param req + * @return + */ + List findRoleByName(QueryRoleByNameReq 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 d1448da1..defd504b 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 @@ -4,15 +4,10 @@ import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.basics.common.exception.ServiceException; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.client.common.enums.RoleTypeEnum; -import cn.axzo.tyr.client.common.enums.WorkspaceJoinType; -import cn.axzo.tyr.client.feign.SaasRoleGroupApi; import cn.axzo.tyr.client.model.enums.IdentityType; import cn.axzo.tyr.client.model.enums.PermissionGroupType; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; -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.req.*; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes; import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO; @@ -21,11 +16,7 @@ import cn.axzo.tyr.client.model.vo.SaasRoleVO; import cn.axzo.tyr.client.model.vo.SaveOrUpdateRoleVO; import cn.axzo.tyr.server.repository.dao.*; import cn.axzo.tyr.server.repository.entity.*; -import cn.axzo.tyr.server.service.PermissionGroupService; -import cn.axzo.tyr.server.service.RoleService; -import cn.axzo.tyr.server.service.SaasPgroupPermissionRelationService; -import cn.axzo.tyr.server.service.SaasRoleGroupRelationService; -import cn.axzo.tyr.server.service.SaasRoleGroupService; +import cn.axzo.tyr.server.service.*; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import com.google.common.collect.Lists; @@ -446,4 +437,10 @@ public class RoleServiceImpl implements RoleService { .map(PermissionPointTreeNode::getPermissionPointId) .collect(Collectors.toSet()); } + + @Override + public List findRoleByName(QueryRoleByNameReq req) { + List roleList = saasRoleDao.findRoleByName(req.getOuId(), req.getWorkspaceId(), req.getRoleNames()); + return BeanUtil.copyToList(roleList, SaasRoleVO.class); + } }