mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-12-26 07:26:43 +08:00
update 优化 兼容部分用户不想给用户分配角色与部门的场景
This commit is contained in:
parent
6dab38be78
commit
f0d2dc6b16
@ -2,6 +2,7 @@ package org.dromara.system.dubbo;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
@ -40,6 +41,9 @@ public class RemoteDataScopeServiceImpl implements RemoteDataScopeService {
|
||||
*/
|
||||
@Override
|
||||
public String getRoleCustom(Long roleId) {
|
||||
if (ObjectUtil.isNull(roleId)) {
|
||||
return "-1";
|
||||
}
|
||||
List<SysRoleDept> list = roleDeptMapper.selectList(
|
||||
new LambdaQueryWrapper<SysRoleDept>()
|
||||
.select(SysRoleDept::getDeptId)
|
||||
@ -47,7 +51,7 @@ public class RemoteDataScopeServiceImpl implements RemoteDataScopeService {
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
return StreamUtils.join(list, rd -> Convert.toStr(rd.getDeptId()));
|
||||
}
|
||||
return null;
|
||||
return "-1";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -58,6 +62,9 @@ public class RemoteDataScopeServiceImpl implements RemoteDataScopeService {
|
||||
*/
|
||||
@Override
|
||||
public String getDeptAndChild(Long deptId) {
|
||||
if (ObjectUtil.isNull(deptId)) {
|
||||
return "-1";
|
||||
}
|
||||
List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
||||
.select(SysDept::getDeptId)
|
||||
.apply(DataBaseHelper.findInSet(deptId, "ancestors")));
|
||||
@ -66,7 +73,7 @@ public class RemoteDataScopeServiceImpl implements RemoteDataScopeService {
|
||||
if (CollUtil.isNotEmpty(ids)) {
|
||||
return StreamUtils.join(ids, Convert::toStr);
|
||||
}
|
||||
return null;
|
||||
return "-1";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -259,9 +259,11 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
loginUser.setUserType(userVo.getUserType());
|
||||
loginUser.setMenuPermission(permissionService.getMenuPermission(userVo.getUserId()));
|
||||
loginUser.setRolePermission(permissionService.getRolePermission(userVo.getUserId()));
|
||||
Opt<SysDeptVo> deptOpt = Opt.of(userVo.getDeptId()).map(deptService::selectDeptById);
|
||||
loginUser.setDeptName(deptOpt.map(SysDeptVo::getDeptName).orElse(StringUtils.EMPTY));
|
||||
loginUser.setDeptCategory(deptOpt.map(SysDeptVo::getDeptCategory).orElse(StringUtils.EMPTY));
|
||||
if (ObjectUtil.isNotNull(userVo.getDeptId())) {
|
||||
Opt<SysDeptVo> deptOpt = Opt.of(userVo.getDeptId()).map(deptService::selectDeptById);
|
||||
loginUser.setDeptName(deptOpt.map(SysDeptVo::getDeptName).orElse(StringUtils.EMPTY));
|
||||
loginUser.setDeptCategory(deptOpt.map(SysDeptVo::getDeptCategory).orElse(StringUtils.EMPTY));
|
||||
}
|
||||
List<SysRoleVo> roles = roleService.selectRolesByUserId(userVo.getUserId());
|
||||
loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class));
|
||||
return loginUser;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user