mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-19 17:56:41 +08:00
update 优化 菜单权限查询
This commit is contained in:
parent
d79b48ea99
commit
90fef1bb17
@ -6,7 +6,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.system.domain.SysMenu;
|
||||
import org.dromara.system.domain.vo.SysMenuVo;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 菜单表 数据层
|
||||
@ -75,12 +77,14 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
|
||||
* @param userId 用户ID
|
||||
* @return 权限列表
|
||||
*/
|
||||
default List<String> selectMenuPermsByUserId(Long userId) {
|
||||
return this.selectObjs(
|
||||
default Set<String> selectMenuPermsByUserId(Long userId) {
|
||||
return new HashSet<>(this.selectObjs(
|
||||
new LambdaQueryWrapper<SysMenu>()
|
||||
.select(SysMenu::getPerms)
|
||||
.inSql(SysMenu::getMenuId, this.buildMenuByUserSql(userId))
|
||||
);
|
||||
.isNotNull(SysMenu::getPerms)
|
||||
.ne(SysMenu::getPerms, "")
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,12 +93,14 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
|
||||
* @param roleId 角色ID
|
||||
* @return 权限列表
|
||||
*/
|
||||
default List<String> selectMenuPermsByRoleId(Long roleId) {
|
||||
return this.selectObjs(
|
||||
default Set<String> selectMenuPermsByRoleId(Long roleId) {
|
||||
return new HashSet<>(this.selectObjs(
|
||||
new LambdaQueryWrapper<SysMenu>()
|
||||
.select(SysMenu::getPerms)
|
||||
.inSql(SysMenu::getMenuId, this.buildMenuByRoleSql(roleId))
|
||||
);
|
||||
.isNotNull(SysMenu::getPerms)
|
||||
.ne(SysMenu::getPerms, "")
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -90,14 +90,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
||||
*/
|
||||
@Override
|
||||
public Set<String> selectMenuPermsByUserId(Long userId) {
|
||||
List<String> perms = baseMapper.selectMenuPermsByUserId(userId);
|
||||
Set<String> permsSet = new HashSet<>();
|
||||
for (String perm : perms) {
|
||||
if (StringUtils.isNotEmpty(perm)) {
|
||||
permsSet.addAll(StringUtils.splitList(perm.trim()));
|
||||
}
|
||||
}
|
||||
return permsSet;
|
||||
return baseMapper.selectMenuPermsByUserId(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -108,14 +101,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
||||
*/
|
||||
@Override
|
||||
public Set<String> selectMenuPermsByRoleId(Long roleId) {
|
||||
List<String> perms = baseMapper.selectMenuPermsByRoleId(roleId);
|
||||
Set<String> permsSet = new HashSet<>();
|
||||
for (String perm : perms) {
|
||||
if (StringUtils.isNotEmpty(perm)) {
|
||||
permsSet.addAll(StringUtils.splitList(perm.trim()));
|
||||
}
|
||||
}
|
||||
return permsSet;
|
||||
return baseMapper.selectMenuPermsByRoleId(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user