This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new 7b605d881 [Improve] Make sure this role is not bound by the user
before removing the role (#1728)
7b605d881 is described below
commit 7b605d8815cbfb44784523ba1765daa74e9f5fbb
Author: 1996fanrui <[email protected]>
AuthorDate: Sun Oct 2 13:17:15 2022 +0800
[Improve] Make sure this role is not bound by the user before removing the
role (#1728)
---
.../console/system/controller/RoleController.java | 2 +-
.../console/system/service/RoleMenuServie.java | 2 +-
.../streampark/console/system/service/RoleService.java | 4 ++--
.../console/system/service/UserRoleService.java | 2 +-
.../system/service/impl/RoleMenuServiceImpl.java | 5 ++---
.../console/system/service/impl/RoleServiceImpl.java | 18 +++++++++++-------
.../system/service/impl/UserRoleServiceImpl.java | 6 +++---
7 files changed, 21 insertions(+), 18 deletions(-)
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/RoleController.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/RoleController.java
index 575ec32cd..3e10c0c6f 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/RoleController.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/RoleController.java
@@ -84,7 +84,7 @@ public class RoleController {
@DeleteMapping("delete")
@RequiresPermissions("role:delete")
public RestResponse deleteRole(Long roleId) {
- this.roleService.removeById(roleId);
+ this.roleService.deleteRole(roleId);
return RestResponse.success();
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleMenuServie.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleMenuServie.java
index 6600dd55f..4ce55e7bf 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleMenuServie.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleMenuServie.java
@@ -25,7 +25,7 @@ import java.util.List;
public interface RoleMenuServie extends IService<RoleMenu> {
- void deleteRoleMenusByRoleId(String[] roleIds);
+ void deleteRoleMenusByRoleId(Long roleId);
void deleteRoleMenusByMenuId(String[] menuIds);
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleService.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleService.java
index 91c9ba48c..fc3bb4006 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleService.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/RoleService.java
@@ -38,7 +38,7 @@ public interface RoleService extends IService<Role> {
void createRole(Role role);
- void deleteRoles(String[] roleIds) throws Exception;
+ void deleteRole(Long roleId);
- void updateRole(Role role) throws Exception;
+ void updateRole(Role role);
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserRoleService.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserRoleService.java
index de31716ba..9f5a756c6 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserRoleService.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserRoleService.java
@@ -29,6 +29,6 @@ public interface UserRoleService extends IService<UserRole> {
void deleteUserRolesByUserId(String[] userIds);
- List<String> findUserIdsByRoleId(String[] roleIds);
+ List<Long> findUserIdsByRoleId(Long roleId);
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleMenuServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleMenuServiceImpl.java
index a69c315ee..8490d47c6 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleMenuServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleMenuServiceImpl.java
@@ -37,9 +37,8 @@ public class RoleMenuServiceImpl extends
ServiceImpl<RoleMenuMapper, RoleMenu>
@Override
@Transactional
- public void deleteRoleMenusByRoleId(String[] roleIds) {
- List<String> list = Arrays.asList(roleIds);
- baseMapper.delete(new
LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getRoleId, list));
+ public void deleteRoleMenusByRoleId(Long roleId) {
+ baseMapper.delete(new
LambdaQueryWrapper<RoleMenu>().eq(RoleMenu::getRoleId, roleId));
}
@Override
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
index f25f2723e..3a12285e1 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
@@ -17,6 +17,7 @@
package org.apache.streampark.console.system.service.impl;
+import org.apache.streampark.common.util.AssertUtils;
import org.apache.streampark.console.base.domain.Constant;
import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.system.entity.Role;
@@ -42,6 +43,7 @@ import
org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -93,16 +95,18 @@ public class RoleServiceImpl extends
ServiceImpl<RoleMapper, Role> implements Ro
}
@Override
- public void deleteRoles(String[] roleIds) throws Exception {
- List<String> list = Arrays.asList(roleIds);
- baseMapper.deleteBatchIds(list);
- this.roleMenuService.deleteRoleMenusByRoleId(roleIds);
- this.userRoleService.deleteUserRolesByRoleId(roleIds);
+ public void deleteRole(Long roleId) {
+ Role role = Optional.ofNullable(this.getById(roleId))
+ .orElseThrow(() -> new
IllegalArgumentException(String.format("Role id [%s] not found", roleId)));
+ List<Long> userIdsByRoleId =
userRoleService.findUserIdsByRoleId(roleId);
+ AssertUtils.isTrue(userIdsByRoleId == null ||
userIdsByRoleId.isEmpty(),
+ String.format("There are some users are bound to role %s , please
unbind it first.", role.getRoleName()));
+ this.removeById(roleId);
+ this.roleMenuService.deleteRoleMenusByRoleId(roleId);
}
@Override
- public void updateRole(Role role) throws Exception {
- String[] roleId = {String.valueOf(role.getRoleId())};
+ public void updateRole(Role role) {
role.setModifyTime(new Date());
baseMapper.updateById(role);
roleMenuMapper.delete(
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserRoleServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserRoleServiceImpl.java
index 993be0755..ca965d0b3 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserRoleServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserRoleServiceImpl.java
@@ -49,12 +49,12 @@ public class UserRoleServiceImpl extends
ServiceImpl<UserRoleMapper, UserRole>
}
@Override
- public List<String> findUserIdsByRoleId(String[] roleIds) {
+ public List<Long> findUserIdsByRoleId(Long roleId) {
List<UserRole> list =
baseMapper.selectList(
- new LambdaQueryWrapper<UserRole>().in(UserRole::getRoleId,
(Object) roleIds));
+ new LambdaQueryWrapper<UserRole>().eq(UserRole::getRoleId,
roleId));
return list.stream()
- .map(userRole -> String.valueOf(userRole.getUserId()))
+ .map(UserRole::getUserId)
.collect(Collectors.toList());
}
}