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 81aa7a0e..591b34ba 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 @@ -3,6 +3,7 @@ package cn.axzo.tyr.client.feign; import cn.axzo.framework.domain.web.result.ApiPageResult; 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.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; @@ -17,6 +18,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; @@ -75,6 +77,13 @@ public interface TyrSaasRoleApi { @PostMapping("/api/saasRole/isSuperAdmin") ApiResult> isSuperAdmin(@RequestBody List req); + /** + * 通过角色名字获取角色信息 + * @return + */ + @PostMapping("/api/saasRole/findRoleByName") + ApiResult> findRoleByName(@RequestBody @Valid QueryRoleByNameReq req); + /** 分页查询角色含用户 **/ @PostMapping("/api/saasRole/queryWithUser") 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 5e3e4abd..2012bea3 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 @@ -5,6 +5,7 @@ import cn.axzo.framework.domain.web.result.ApiPageResult; 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.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; @@ -77,6 +78,11 @@ public class SaasRoleController implements TyrSaasRoleApi { return ApiResult.ok(roleService.isSuperAdmin(req)); } + @Override + public ApiResult> findRoleByName(QueryRoleByNameReq req) { + return ApiResult.ok(roleService.findRoleByName(req)); + } + @Override public ApiPageResult queryRoleWithUser(RoleWithUserQueryReq req) { return ApiPageResult.ok(roleService.queryRoleWithUser(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 1cf02a5e..6349ecb2 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 @@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service; import cn.axzo.framework.domain.page.PageResp; 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.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.res.IsSuperAdminRes; @@ -53,6 +54,12 @@ public interface RoleService { */ Set filterPermissionPoint(Set role, TyrSaasAuthServiceImpl.UserRoleInfoMap userRoleInfoMap); + /** + * 通过角色名字获取角色信息 + * @param req + * @return + */ + List findRoleByName(QueryRoleByNameReq req); /** 分页查询角色含用户 **/ PageResp queryRoleWithUser(RoleWithUserQueryReq 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 f45bda5f..56c32ec7 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 @@ -5,11 +5,10 @@ import cn.axzo.basics.common.exception.ServiceException; import cn.axzo.framework.domain.page.PageResp; 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.*; import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; @@ -24,11 +23,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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -496,4 +491,10 @@ public class RoleServiceImpl implements RoleService { return PageResp.list(req.getPage(), req.getPageSize(), rolePage.getTotal(), resultData); } + + @Override + public List findRoleByName(QueryRoleByNameReq req) { + List roleList = saasRoleDao.findRoleByName(req.getOuId(), req.getWorkspaceId(), req.getRoleNames()); + return BeanUtil.copyToList(roleList, SaasRoleVO.class); + } }