From ab93553a3009edadeced1cad70d281a560f34f79 Mon Sep 17 00:00:00 2001 From: wangjibo Date: Sat, 21 Oct 2023 15:54:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8D=95=E4=BD=8D=E5=8F=82?= =?UTF-8?q?=E4=B8=8E=E7=9A=84=E5=B7=A5=E4=BD=9C=E5=8F=B0=E7=9A=84=E6=89=80?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E4=BA=BA=E5=91=98=E4=B8=8E=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E3=80=82=20=E7=9B=AE=E5=89=8D=E4=B8=BB=E8=A6=81=E6=98=AF?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E7=A7=BB=E9=99=A4=E5=8F=82=E4=B8=8E=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tyr/client/feign/TyrSaasRoleUserApi.java | 14 +++++++++----- .../controller/roleuser/RoleUserController.java | 12 ++++++------ .../tyr/server/repository/dao/SaasRoleDao.java | 8 ++++++++ .../repository/dao/SaasRoleUserRelationDao.java | 10 +++++++--- .../tyr/server/service/SaasRoleUserService.java | 5 +++-- .../tyr/server/service/impl/RoleUserService.java | 16 ++++------------ 6 files changed, 37 insertions(+), 28 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java index 46b3b7b6..6b5ff55d 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java @@ -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.SuperAminInfoResp; import cn.axzo.tyr.client.model.roleuser.req.*; +import cn.azxo.framework.common.model.CommonResponse; import org.springframework.cloud.openfeign.FeignClient; 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.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -25,17 +28,18 @@ public interface TyrSaasRoleUserApi { @PostMapping("/api/saas-role-user/save-or-update") ApiResult saveOrUpdate(@RequestBody @Valid RoleUserReq req); + /** + * 删除单位参与的工作台的所有的人员与角色。 目前主要是用于移除参与单位的地方 + */ + @PostMapping("api/saas/role/remove-workspace-ou-all-user") + ApiResult removeWorkspaceOuAllUserRole(@NotNull @RequestParam("workspaceId") Long workspaceId, @NotNull @RequestParam("ouId") Long ouId); + /** * 创建超管 */ @PostMapping("/api/saas-role-user/create-super-admin-role") ApiResult createSuperAdminRole(@RequestBody @Valid @NotEmpty CreateSuperAdminRoleParam param); - /** - * 删除超管的所有角色 - */ - @PostMapping("/api/saas-role-user/delete-super-admin-all-role") - ApiResult deleteSuperAdminAllRole(@RequestBody @Valid @NotEmpty DeleteSuperAdminRoleParam param); /** * 用户角色列表 限制1000条 */ diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java index a6fc3c13..f7e0429c 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java @@ -33,6 +33,12 @@ public class RoleUserController implements TyrSaasRoleUserApi { return ApiResult.ok(); } + @Override + public ApiResult removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId) { + saasRoleUserService.removeWorkspaceOuAllUserRole(workspaceId, ouId); + return ApiResult.ok(); + } + @Override public ApiResult> roleUserList(@RequestBody @Valid RoleUserParam param) { return ApiResult.ok(saasRoleUserRelationService.list(param)); @@ -44,12 +50,6 @@ public class RoleUserController implements TyrSaasRoleUserApi { return ApiResult.ok(); } - @Override - public ApiResult deleteSuperAdminAllRole(DeleteSuperAdminRoleParam param) { - saasRoleUserService.deleteSuperAdminAllRole(param); - return ApiResult.ok(); - } - /** * cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin * @param param 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 fb518669..8fce8811 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 @@ -97,5 +97,13 @@ public class SaasRoleDao extends ServiceImpl { public List listForOUWorkspace(Long ouId, Long workspaceId, Integer 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(); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleUserRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleUserRelationDao.java index ffd8b20b..533f84f7 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleUserRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasRoleUserRelationDao.java @@ -72,8 +72,12 @@ public class SaasRoleUserRelationDao extends ServiceImpl batchSuperAdminList(List param); List listByRoleIds(List roleIds); + /** - * 删除超管的所有角色 + * 删除单位参与的工作台的所有的人员与角色。 目前主要是用于移除参与单位的地方 */ - void deleteSuperAdminAllRole(DeleteSuperAdminRoleParam param); + void removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId); } \ No newline at end of file diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java index b4320f46..b5ea949b 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java @@ -234,18 +234,10 @@ public class RoleUserService implements SaasRoleUserService { .in(SaasRoleUserRelation::getRoleId, roleIds)); } - @Override - public void deleteSuperAdminAllRole(DeleteSuperAdminRoleParam req) { - // 查询用户所有角色 - List existsRoleUser = roleUserRelationDao.query(req.getIdentityId(), req.getIdentityType().getCode(), req.getWorkspaceId(), req.getOuId()); - if (CollectionUtils.isNotEmpty(existsRoleUser)) { - List 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); - } + public void removeWorkspaceOuAllUserRole(Long workspaceId, Long ouId) { + saasRoleDao.removeWorkspaceOuAllRole(workspaceId, ouId); + roleUserRelationDao.removeWorkspaceOuAllUserRole(workspaceId, ouId); } + }