创建机构管理员账户角色
This commit is contained in:
parent
b24927820a
commit
7b0be4dfd2
@ -59,7 +59,7 @@ public interface TyrSaasRoleUserApi {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/saas-role-user/create-agency-admin-role")
|
||||
ApiResult<CreateAdminRoleDTO> createAgencyAdminRole(@RequestBody @Valid CreateAgencyAdminRoleParam param);
|
||||
ApiResult<Void> createAgencyAdminRole(@RequestBody @Valid CreateAgencyAdminRoleParam param);
|
||||
|
||||
@PostMapping("/api/saas-role-user/create-super-admin-role")
|
||||
ApiResult<Void> createSuperAdminRole(@RequestBody @Valid @NotEmpty CreateSuperAdminRoleParam param);
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
package cn.axzo.tyr.client.model.req;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ -70,4 +72,20 @@ public class QuerySaasPermissionGroupReq extends PageRequest {
|
||||
@NotNull
|
||||
@Builder.Default
|
||||
private Boolean fetchPage = Boolean.TRUE;
|
||||
|
||||
public QuerySaasPermissionGroupReq buildDefault() {
|
||||
if (this.workspaceId == null) {
|
||||
this.workspaceId = new ArrayList<>();
|
||||
}
|
||||
if (this.ouId == null) {
|
||||
this.ouId = new ArrayList<>();
|
||||
}
|
||||
if (!workspaceId.contains(-1L)) {
|
||||
workspaceId.add(-1L);
|
||||
}
|
||||
if (!ouId.contains(-1L)) {
|
||||
ouId.add(-1L);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ -25,23 +26,27 @@ public class QuerySaasRoleReq {
|
||||
|
||||
/**
|
||||
* 工作台类型编码
|
||||
* 和 sassRoleGroupIds 互斥,如果存在sassRoleGroupIds,该字段不生效
|
||||
*/
|
||||
private List<String> workspaceTypeCode;
|
||||
|
||||
/**
|
||||
* 单位类型编码
|
||||
* 和 sassRoleGroupIds 互斥,如果存在sassRoleGroupIds,该字段不生效
|
||||
*/
|
||||
private List<String> ouTypeCode;
|
||||
|
||||
/**
|
||||
* 工作台id(过滤权限集作用范围)
|
||||
* 特殊参数:该参数和ids 互斥,有ids,该参数不生效
|
||||
* 1:在过滤角色时:该参数和ids 互斥,有ids,该参数不生效
|
||||
* 2:在过滤分组时:该参数和sassRoleGroupIds 互斥,有sassRoleGroupIds,该参数不生效
|
||||
*/
|
||||
private List<Long> workspaceId;
|
||||
|
||||
/**
|
||||
* 单位id(过滤权限集作用范围)
|
||||
* 特殊参数:该参数和ids 互斥,有ids,该参数不生效
|
||||
* 1:在过滤角色时:该参数和ids 互斥,有ids,该参数不生效
|
||||
* 2:在过滤分组时:该参数和sassRoleGroupIds 互斥,有sassRoleGroupIds,该参数不生效
|
||||
*/
|
||||
private List<Long> ouId;
|
||||
|
||||
@ -56,4 +61,20 @@ public class QuerySaasRoleReq {
|
||||
* 是否包含权限集(如果不需要则不执行后续查询链路)
|
||||
*/
|
||||
private Boolean includePermissionGroup;
|
||||
|
||||
public QuerySaasRoleReq buildDefault() {
|
||||
if (this.workspaceId == null) {
|
||||
this.workspaceId = new ArrayList<>();
|
||||
}
|
||||
if (this.ouId == null) {
|
||||
this.ouId = new ArrayList<>();
|
||||
}
|
||||
if (!workspaceId.contains(-1L)) {
|
||||
workspaceId.add(-1L);
|
||||
}
|
||||
if (!ouId.contains(-1L)) {
|
||||
ouId.add(-1L);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,14 @@
|
||||
package cn.axzo.tyr.server.controller.roleuser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.feign.TyrSaasRoleUserApi;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.CreateAdminRoleDTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.*;
|
||||
@ -10,11 +16,6 @@ import cn.axzo.tyr.server.service.SaasRoleUserRelationService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author tanjie@axzo.cn
|
||||
@ -55,9 +56,9 @@ public class RoleUserController implements TyrSaasRoleUserApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<CreateAdminRoleDTO> createAgencyAdminRole(CreateAgencyAdminRoleParam param) {
|
||||
// todo cn.axzo.basics.auth.api.SaasRoleApi#grantAgencyAdminRole
|
||||
return ApiResult.ok(new CreateAdminRoleDTO());
|
||||
public ApiResult<Void> createAgencyAdminRole(CreateAgencyAdminRoleParam param) {
|
||||
saasRoleUserService.createAgencyAdminRole(param);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -56,16 +56,7 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
||||
|
||||
@Override
|
||||
public PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req) {
|
||||
if (CollectionUtils.isEmpty(req.getWorkspaceId())) {
|
||||
req.setWorkspaceId(Arrays.asList(-1L));
|
||||
} else if(!req.getWorkspaceId().contains(-1L)){
|
||||
req.getWorkspaceId().add(-1L);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(req.getOuId())) {
|
||||
req.setOuId(Arrays.asList(-1L));
|
||||
} else if (!req.getOuId().contains(-1L)) {
|
||||
req.getOuId().add(-1L);
|
||||
}
|
||||
req.buildDefault();
|
||||
// 如果角色id不为空则先查询角色权限集关联表
|
||||
IPage<SaasPermissionGroup> iPage = req.toPage();
|
||||
List<SaasPgroupRoleRelation> relationList = null;
|
||||
|
||||
@ -155,25 +155,20 @@ public class RoleServiceImpl implements RoleService {
|
||||
@Override
|
||||
public List<SaasRoleVO> query(QuerySaasRoleReq req) {
|
||||
// 如果没有传则默认查询通用维度默认值是 -1,-1+传入的参数含义是查询通用和自定义
|
||||
if (CollectionUtils.isEmpty(req.getWorkspaceId())) {
|
||||
req.setWorkspaceId(Arrays.asList(-1L));
|
||||
} else if(!req.getWorkspaceId().contains(-1L)){
|
||||
req.getWorkspaceId().add(-1L);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(req.getOuId())) {
|
||||
req.setOuId(Arrays.asList(-1L));
|
||||
} else if (!req.getOuId().contains(-1L)) {
|
||||
req.getOuId().add(-1L);
|
||||
}
|
||||
req.buildDefault();
|
||||
// 根据工作台类型和单位类型查询角色分组
|
||||
List<SaasRoleGroup> roleGroup = new ArrayList<>();
|
||||
// 如果传入了角色id就以传入的角色id为准
|
||||
if (CollectionUtils.isEmpty(req.getIds()) && (CollectionUtils.isNotEmpty(req.getWorkspaceTypeCode()) || CollectionUtils.isNotEmpty(req.getOuTypeCode()))) {
|
||||
roleGroup = saasRoleGroupDao.query(QuerySaasRoleGroupReq.builder()
|
||||
.ids(req.getSassRoleGroupIds())
|
||||
.workspaceTypeCode(req.getWorkspaceTypeCode())
|
||||
.ouTypeCode(req.getOuTypeCode())
|
||||
.build());
|
||||
QuerySaasRoleGroupReq groupReq = new QuerySaasRoleGroupReq();
|
||||
groupReq.setIds(req.getSassRoleGroupIds());
|
||||
if (CollectionUtils.isEmpty(req.getSassRoleGroupIds())) {
|
||||
groupReq.setWorkspaceTypeCode(req.getWorkspaceTypeCode());
|
||||
groupReq.setOuTypeCode(req.getOuTypeCode());
|
||||
groupReq.setWorkspaceIds(req.getWorkspaceId());
|
||||
groupReq.setOuIds(req.getOuId());
|
||||
}
|
||||
roleGroup = saasRoleGroupDao.query(groupReq);
|
||||
if (CollectionUtils.isEmpty(roleGroup)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user