feat(server): 增加删除工作台下的所有人员与平台角色接口
https://jira.axzo.cn/browse/REQ-1502?goToView=1 modify: 1. 增加删除工作台下的所有人员与平台角色接口
This commit is contained in:
parent
31958870c9
commit
cb6aa953e1
@ -21,4 +21,16 @@ Content-Type: application/json
|
||||
> reponse-check.js
|
||||
|
||||
|
||||
###
|
||||
POST {{host}}/api/saas-role-user/delete-user-role-of-workspace
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
> reponse-check.js
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,19 +1,25 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
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.*;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.CreateAgencyAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.CreateWorkspaceAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRolesOfWorkspaceParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色
|
||||
@ -41,16 +47,16 @@ public interface TyrSaasRoleUserApi {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/saas-role-user/delete")
|
||||
@PostMapping("/api/saas-role-user/delete")
|
||||
ApiResult<Boolean> deleteUserAllRoles(@RequestBody @Valid List<DeleteRoleUserParam> param);
|
||||
|
||||
/**
|
||||
* 新的 移除某个人在某个工作台的所有角色(除超管)
|
||||
* 删除某个用户非超管角色(新)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/saas-role-user/delete-user-role")
|
||||
@PostMapping("/api/saas-role-user/delete-user-role")
|
||||
ApiResult<Boolean> deleteUserRoles(@RequestBody @Valid DeleteUserRoleParam param);
|
||||
|
||||
/**
|
||||
@ -87,4 +93,13 @@ public interface TyrSaasRoleUserApi {
|
||||
*/
|
||||
@PostMapping("api/saas-role-user/super-admin")
|
||||
ApiResult<SuperAdminInfoDTO> superAdmin(@RequestBody @Valid SuperAdminParam param);
|
||||
|
||||
/**
|
||||
* 删除工作台下的所有人员与平台角色
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/saas-role-user/delete-user-role-of-workspace")
|
||||
ApiResult<Boolean> deleteUserRolesOfWorkspace(@RequestBody @Valid DeleteUserRolesOfWorkspaceParam param);
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.roleuser.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2023/10/17
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DeleteUserRolesOfWorkspaceParam {
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
@NotNull(message = "工作台ID不能为空")
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位ID不能为空")
|
||||
private Long ouId;
|
||||
}
|
||||
@ -4,6 +4,7 @@ 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.req.*;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.*;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserRelationService;
|
||||
@ -46,7 +47,7 @@ public class RoleUserController implements TyrSaasRoleUserApi {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新的 移除某个人在某个工作台的所有角色(除超管)
|
||||
* 删除用户非超管角色
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
@ -56,6 +57,17 @@ public class RoleUserController implements TyrSaasRoleUserApi {
|
||||
return ApiResult.ok(saasRoleUserService.deleteUserRoles(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工作台下的所有人员与平台角色
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ApiResult<Boolean> deleteUserRolesOfWorkspace(DeleteUserRolesOfWorkspaceParam param) {
|
||||
return ApiResult.ok(saasRoleUserService.deleteUserRolesOfWorkspace(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<CreateAdminRoleDTO> createAgencyAdminRole(CreateAgencyAdminRoleParam param) {
|
||||
// todo cn.axzo.basics.auth.api.SaasRoleApi#grantAgencyAdminRole
|
||||
|
||||
@ -3,7 +3,7 @@ package cn.axzo.tyr.server.service;
|
||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRolesOfWorkspaceParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation;
|
||||
|
||||
@ -44,6 +44,14 @@ public interface SaasRoleUserService {
|
||||
*/
|
||||
boolean deleteUserRoles(DeleteUserRoleParam param);
|
||||
|
||||
/**
|
||||
* 删除某个工作台下的人和角色
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
boolean deleteUserRolesOfWorkspace(DeleteUserRolesOfWorkspaceParam param);
|
||||
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.axzo.tyr.client.model.BaseWorkspaceModel;
|
||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRolesOfWorkspaceParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao;
|
||||
@ -120,6 +121,7 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteUserRoles(DeleteUserRoleParam param) {
|
||||
List<SaasRole> roleList = saasRoleDao.lambdaQuery()
|
||||
.eq(Objects.nonNull(param.getOuId()), SaasRole::getOwnerOuId, param.getOuId())
|
||||
@ -138,6 +140,23 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteUserRolesOfWorkspace(DeleteUserRolesOfWorkspaceParam param) {
|
||||
// 删除所有的角色
|
||||
saasRoleDao.remove(Wrappers.lambdaQuery(SaasRole.class)
|
||||
.eq(SaasRole::getWorkspaceId, param.getWorkspaceId())
|
||||
.eq(SaasRole::getOwnerOuId, param.getOuId())
|
||||
.eq(SaasRole::getRoleType, RoleTypeEnum.COMMON.getValue())
|
||||
);
|
||||
// 删除工作台下所有的人和角色的关系
|
||||
roleUserRelationDao.remove(Wrappers.lambdaQuery(SaasRoleUserRelation.class)
|
||||
.eq(SaasRoleUserRelation::getWorkspaceId, param.getWorkspaceId())
|
||||
.eq(SaasRoleUserRelation::getOuId, param.getOuId())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaasRoleUserRelation> queryByWorkspaceIdOrOu(Long identityId, IdentityType identityType, Set<Long> workspaceIds, Set<Long> ouIds) {
|
||||
return roleUserRelationDao.queryByWorkspaceIdOrOu(identityId, identityType, workspaceIds, ouIds);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user