删除单位参与的工作台的所有的人员与角色。 目前主要是用于移除参与单位的地方

This commit is contained in:
wangjibo 2023-10-21 15:54:12 +08:00
parent e2f692f830
commit ab93553a30
6 changed files with 37 additions and 28 deletions

View File

@ -4,12 +4,15 @@ import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserDTO; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserDTO;
import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp; import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp;
import cn.axzo.tyr.client.model.roleuser.req.*; import cn.axzo.tyr.client.model.roleuser.req.*;
import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; 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 javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
@ -25,17 +28,18 @@ public interface TyrSaasRoleUserApi {
@PostMapping("/api/saas-role-user/save-or-update") @PostMapping("/api/saas-role-user/save-or-update")
ApiResult<Void> saveOrUpdate(@RequestBody @Valid RoleUserReq req); ApiResult<Void> saveOrUpdate(@RequestBody @Valid RoleUserReq req);
/**
* 删除单位参与的工作台的所有的人员与角色 目前主要是用于移除参与单位的地方
*/
@PostMapping("api/saas/role/remove-workspace-ou-all-user")
ApiResult<Void> removeWorkspaceOuAllUserRole(@NotNull @RequestParam("workspaceId") Long workspaceId, @NotNull @RequestParam("ouId") Long ouId);
/** /**
* 创建超管 * 创建超管
*/ */
@PostMapping("/api/saas-role-user/create-super-admin-role") @PostMapping("/api/saas-role-user/create-super-admin-role")
ApiResult<Void> createSuperAdminRole(@RequestBody @Valid @NotEmpty CreateSuperAdminRoleParam param); ApiResult<Void> createSuperAdminRole(@RequestBody @Valid @NotEmpty CreateSuperAdminRoleParam param);
/**
* 删除超管的所有角色
*/
@PostMapping("/api/saas-role-user/delete-super-admin-all-role")
ApiResult<Void> deleteSuperAdminAllRole(@RequestBody @Valid @NotEmpty DeleteSuperAdminRoleParam param);
/** /**
* 用户角色列表 限制1000条 * 用户角色列表 限制1000条
*/ */

View File

@ -33,6 +33,12 @@ public class RoleUserController implements TyrSaasRoleUserApi {
return ApiResult.ok(); return ApiResult.ok();
} }
@Override
public ApiResult<Void> removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId) {
saasRoleUserService.removeWorkspaceOuAllUserRole(workspaceId, ouId);
return ApiResult.ok();
}
@Override @Override
public ApiResult<List<SaasRoleUserDTO>> roleUserList(@RequestBody @Valid RoleUserParam param) { public ApiResult<List<SaasRoleUserDTO>> roleUserList(@RequestBody @Valid RoleUserParam param) {
return ApiResult.ok(saasRoleUserRelationService.list(param)); return ApiResult.ok(saasRoleUserRelationService.list(param));
@ -44,12 +50,6 @@ public class RoleUserController implements TyrSaasRoleUserApi {
return ApiResult.ok(); return ApiResult.ok();
} }
@Override
public ApiResult<Void> deleteSuperAdminAllRole(DeleteSuperAdminRoleParam param) {
saasRoleUserService.deleteSuperAdminAllRole(param);
return ApiResult.ok();
}
/** /**
* cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin * cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin
* @param param * @param param

View File

@ -97,5 +97,13 @@ public class SaasRoleDao extends ServiceImpl<SaasRoleMapper, SaasRole> {
public List<SaasRole> listForOUWorkspace(Long ouId, Long workspaceId, Integer workspaceJoinType) { public List<SaasRole> listForOUWorkspace(Long ouId, Long workspaceId, Integer workspaceJoinType) {
return this.baseMapper.listForOUWorkspace(ouId, workspaceId, workspaceJoinType); return this.baseMapper.listForOUWorkspace(ouId, workspaceId, workspaceJoinType);
} }
public void removeWorkspaceOuAllRole(Long workspaceId, Long ouId) {
lambdaUpdate()
.eq(SaasRole::getWorkspaceId, workspaceId)
.eq(SaasRole::getOwnerOuId, ouId)
.setSql(" is_delete = id")
.update();
}
} }

View File

@ -72,8 +72,12 @@ public class SaasRoleUserRelationDao extends ServiceImpl<SaasRoleUserRelationMap
} }
public void removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId) {
lambdaUpdate()
.eq(SaasRoleUserRelation::getWorkspaceId, workspaceId)
.eq(SaasRoleUserRelation::getOuId, ouId)
.setSql(" is_delete = id")
.update();
}
} }

View File

@ -64,8 +64,9 @@ public interface SaasRoleUserService {
List<SuperAminInfoResp> batchSuperAdminList(List<SuperAdminParam> param); List<SuperAminInfoResp> batchSuperAdminList(List<SuperAdminParam> param);
List<SaasRoleUserRelation> listByRoleIds(List<Long> roleIds); List<SaasRoleUserRelation> listByRoleIds(List<Long> roleIds);
/** /**
* 删除超管的所有角色 * 删除单位参与的工作台的所有的人员与角色 目前主要是用于移除参与单位的地方
*/ */
void deleteSuperAdminAllRole(DeleteSuperAdminRoleParam param); void removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId);
} }

View File

@ -234,18 +234,10 @@ public class RoleUserService implements SaasRoleUserService {
.in(SaasRoleUserRelation::getRoleId, roleIds)); .in(SaasRoleUserRelation::getRoleId, roleIds));
} }
@Override @Override
public void deleteSuperAdminAllRole(DeleteSuperAdminRoleParam req) { public void removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId) {
// 查询用户所有角色 saasRoleDao.removeWorkspaceOuAllRole(workspaceId, ouId);
List<SaasRoleUserRelation> existsRoleUser = roleUserRelationDao.query(req.getIdentityId(), req.getIdentityType().getCode(), req.getWorkspaceId(), req.getOuId()); roleUserRelationDao.removeWorkspaceOuAllUserRole(workspaceId, ouId);
if (CollectionUtils.isNotEmpty(existsRoleUser)) {
List<Long> existsRoleIds = existsRoleUser.stream().mapToLong(SaasRoleUserRelation::getRoleId).boxed().collect(Collectors.toList());
BaseWorkspaceModel workspaceModel = BaseWorkspaceModel.builder()
.workspaceId(req.getWorkspaceId()).ouId(req.getOuId())
.identityId(req.getIdentityId()).identityType(req.getIdentityType())
.build();
roleUserRelationDao.deleteByUser(workspaceModel, existsRoleIds);
}
} }
} }