Merge remote-tracking branch 'origin/feature/REQ-1502' into feature/REQ-1502

# Conflicts:
#	tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleApi.java
#	tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleController.java
#	tyr-server/src/main/java/cn/axzo/tyr/server/service/RoleService.java
#	tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java
This commit is contained in:
zhansihu 2023-10-18 16:27:18 +08:00
commit a05bd02bf3
7 changed files with 61 additions and 30 deletions

View File

@ -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.ApiPageResult;
import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; 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.QuerySaasRoleReq;
import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq;
import cn.axzo.tyr.client.model.res.IsSuperAdminRes; 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.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@ -75,6 +77,13 @@ public interface TyrSaasRoleApi {
@PostMapping("/api/saasRole/isSuperAdmin") @PostMapping("/api/saasRole/isSuperAdmin")
ApiResult<List<IsSuperAdminRes>> isSuperAdmin(@RequestBody List<QueryByIdentityIdTypeReq> req); ApiResult<List<IsSuperAdminRes>> isSuperAdmin(@RequestBody List<QueryByIdentityIdTypeReq> req);
/**
* 通过角色名字获取角色信息
* @return
*/
@PostMapping("/api/saasRole/findRoleByName")
ApiResult<List<SaasRoleVO>> findRoleByName(@RequestBody @Valid QueryRoleByNameReq req);
/** 分页查询角色含用户 **/ /** 分页查询角色含用户 **/
@PostMapping("/api/saasRole/queryWithUser") @PostMapping("/api/saasRole/queryWithUser")

View File

@ -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<String> roleNames;
}

View File

@ -1,6 +1,5 @@
package cn.axzo.tyr.client.model.roleuser.req; 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 cn.axzo.tyr.client.model.enums.IdentityType;
import lombok.Data; import lombok.Data;
@ -21,27 +20,6 @@ public class CreateSuperAdminRoleParam {
@NotNull(message = "ouId不能为空") @NotNull(message = "ouId不能为空")
private Long ouId; private Long ouId;
/**
* 适用单位类型 1:总包 2:建设单位 4:监理单位 8:劳务分包 16:专业分包 0都可以用 只会挂在最末级
* <p>
* 业务层这个字段不要直接用有变种的gettersetter或者直接用解释工具
*/
private Long fitOuTypeBit;
/**
*
* 适用节点类型 1:部门 2:班组 4:小组 只会挂在最末级
*
* 业务层这个字段不要直接用
*/
private Long fitOuNodeTypeBit;
/**
* 角色Id必填
* 只能传SUPER_ADMINADMIN
*/
private RoleTypeEnum roleType;
/** /**
* 身份id * 身份id
*/ */

View File

@ -5,6 +5,7 @@ import cn.axzo.framework.domain.web.result.ApiPageResult;
import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.feign.TyrSaasRoleApi; import cn.axzo.tyr.client.feign.TyrSaasRoleApi;
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; 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.QuerySaasRoleReq;
import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq;
import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.IsSuperAdminRes;
@ -77,6 +78,11 @@ public class SaasRoleController implements TyrSaasRoleApi {
return ApiResult.ok(roleService.isSuperAdmin(req)); return ApiResult.ok(roleService.isSuperAdmin(req));
} }
@Override
public ApiResult<List<SaasRoleVO>> findRoleByName(QueryRoleByNameReq req) {
return ApiResult.ok(roleService.findRoleByName(req));
}
@Override @Override
public ApiPageResult<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req) { public ApiPageResult<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req) {
return ApiPageResult.ok(roleService.queryRoleWithUser(req)); return ApiPageResult.ok(roleService.queryRoleWithUser(req));

View File

@ -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.entity.SaasRoleWithUser;
import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper; import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -81,5 +80,15 @@ public class SaasRoleDao extends ServiceImpl<SaasRoleMapper, SaasRole> {
.select(SaasRole::getId) .select(SaasRole::getId)
.list(); .list();
} }
public List<SaasRole> findRoleByName(Long ouId, Long workspaceId,
List<String> 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();
}
} }

View File

@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service;
import cn.axzo.framework.domain.page.PageResp; import cn.axzo.framework.domain.page.PageResp;
import cn.axzo.tyr.client.model.enums.IdentityType; import cn.axzo.tyr.client.model.enums.IdentityType;
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq; 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.QuerySaasRoleReq;
import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq; import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq;
import cn.axzo.tyr.client.model.res.IsSuperAdminRes; import cn.axzo.tyr.client.model.res.IsSuperAdminRes;
@ -53,6 +54,12 @@ public interface RoleService {
*/ */
Set<Long> filterPermissionPoint(Set<SaasRoleVO> role, TyrSaasAuthServiceImpl.UserRoleInfoMap userRoleInfoMap); Set<Long> filterPermissionPoint(Set<SaasRoleVO> role, TyrSaasAuthServiceImpl.UserRoleInfoMap userRoleInfoMap);
/**
* 通过角色名字获取角色信息
* @param req
* @return
*/
List<SaasRoleVO> findRoleByName(QueryRoleByNameReq req);
/** 分页查询角色含用户 **/ /** 分页查询角色含用户 **/
PageResp<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req); PageResp<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req);
} }

View File

@ -5,11 +5,10 @@ import cn.axzo.basics.common.exception.ServiceException;
import cn.axzo.framework.domain.page.PageResp; import cn.axzo.framework.domain.page.PageResp;
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum; 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.IdentityType;
import cn.axzo.tyr.client.model.enums.PermissionGroupType; import cn.axzo.tyr.client.model.enums.PermissionGroupType;
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; 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.QueryByIdentityIdTypeReq;
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq; import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; 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.client.model.vo.SaveOrUpdateRoleVO;
import cn.axzo.tyr.server.repository.dao.*; import cn.axzo.tyr.server.repository.dao.*;
import cn.axzo.tyr.server.repository.entity.*; import cn.axzo.tyr.server.repository.entity.*;
import cn.axzo.tyr.server.service.PermissionGroupService; import cn.axzo.tyr.server.service.*;
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.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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); return PageResp.list(req.getPage(), req.getPageSize(), rolePage.getTotal(), resultData);
} }
@Override
public List<SaasRoleVO> findRoleByName(QueryRoleByNameReq req) {
List<SaasRole> roleList = saasRoleDao.findRoleByName(req.getOuId(), req.getWorkspaceId(), req.getRoleNames());
return BeanUtil.copyToList(roleList, SaasRoleVO.class);
}
} }