|
|
@@ -706,11 +706,21 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void assignRoleBatch(UserAssignRoleBatchReqVO reqVO) {
|
|
|
- // 遍历用户列表,为每个用户追加该角色(保留已有角色)
|
|
|
- for (String userId : reqVO.getUserIds()) {
|
|
|
- Set<String> existingRoleIds = permissionService.getUserRoleIdListByUserId(userId);
|
|
|
- existingRoleIds.add(reqVO.getRoleId());
|
|
|
- permissionService.assignUserRole(userId, existingRoleIds);
|
|
|
+ // 遍历需要分配角色的用户列表,为每个用户追加该角色(保留已有角色)
|
|
|
+ if (CollUtil.isNotEmpty(reqVO.getUserIds())) {
|
|
|
+ for (String userId : reqVO.getUserIds()) {
|
|
|
+ Set<String> existingRoleIds = permissionService.getUserRoleIdListByUserId(userId);
|
|
|
+ existingRoleIds.add(reqVO.getRoleId());
|
|
|
+ permissionService.assignUserRole(userId, existingRoleIds);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 遍历需要取消角色的用户列表,为每个用户移除该角色
|
|
|
+ if (CollUtil.isNotEmpty(reqVO.getRemoveUserIds())) {
|
|
|
+ for (String userId : reqVO.getRemoveUserIds()) {
|
|
|
+ Set<String> existingRoleIds = permissionService.getUserRoleIdListByUserId(userId);
|
|
|
+ existingRoleIds.remove(reqVO.getRoleId());
|
|
|
+ permissionService.assignUserRole(userId, existingRoleIds);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|