Browse Source

update 权限更新

A17404李放 3 năm trước cách đây
mục cha
commit
8604376468

+ 6 - 6
nb-framework/src/main/java/com/nb/framework/web/service/impl/UserServiceImpl.java

@@ -221,7 +221,7 @@ public class UserServiceImpl implements IUserService {
                 String requestFrom = request.getHeader("RequestFrom");
                 //来自app的请求不需要验证码
                 if(!"TuoRenApp".equals(requestFrom)){
-                    captchaTool.ver(req.getCodeKey(),req.getCode());
+//                    captchaTool.ver(req.getCodeKey(),req.getCode());
                 }
             }
             sysUser = sysUserService.getOne(Wrappers.lambdaQuery(SysUser.class).eq(SysUser::getAccount, req.getUsername()));
@@ -275,12 +275,12 @@ public class UserServiceImpl implements IUserService {
         sysUserBO.setRoles(sysRoleList.stream().map(item -> BeanUtil.copyProperties(item, SysRoleBO.class)).collect(Collectors.toList()));
         // 查询权限标识
         Set<String> permissions = Sets.newHashSet();
-        if (CollUtil.isNotEmpty(sysRoleList)&&
-                sysRoleList.stream().anyMatch(sysRole -> "admin".equalsIgnoreCase(sysRole.getRoleCode()))) {
-            permissions.add(Constants.ALL_PERMISSION);
-        } else {
+//        if (CollUtil.isNotEmpty(sysRoleList)&&
+//                sysRoleList.stream().anyMatch(sysRole -> "admin".equalsIgnoreCase(sysRole.getRoleCode()))) {
+//            permissions.add(Constants.ALL_PERMISSION);
+//        } else {
             permissions = sysMenuService.getPermissionsByUserId(sysUser.getId());
-        }
+//        }
         // 登录
         StpUtil.login(sysUser.getId());
         LoginUser loginUser = new LoginUser();

+ 11 - 5
nb-system/src/main/java/com/nb/system/service/impl/SysMenuServiceImpl.java

@@ -1,6 +1,7 @@
 package com.nb.system.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.TreeNode;
 import cn.hutool.core.lang.tree.TreeUtil;
@@ -20,11 +21,13 @@ import com.nb.system.common.dto.SysMenuAddDTO;
 import com.nb.system.common.dto.SysMenuEditDTO;
 import com.nb.system.common.dto.SysMenuQueryDTO;
 import com.nb.system.entity.SysMenu;
+import com.nb.system.entity.SysRole;
 import com.nb.system.entity.SysRoleMenu;
 import com.nb.system.entity.SysUserRole;
 import com.nb.system.mapper.SysMenuMapper;
 import com.nb.system.service.ISysMenuService;
 import com.nb.system.service.ISysRoleMenuService;
+import com.nb.system.service.ISysRoleService;
 import com.nb.system.service.ISysUserRoleService;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -55,6 +58,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
     @Resource
     private ISysRoleMenuService sysRoleMenuService;
 
+    @Resource
+    private ISysRoleService sysRoleService;
     @Override
     public IPage<SysMenu> page(Page reqPage, SysMenuQueryDTO req) {
         LambdaQueryWrapper<SysMenu> queryWrapper = Wrappers.lambdaQuery();
@@ -232,14 +237,15 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
     @Override
     public Set<String> getPermissionsByUserId(Long userId) {
         // 查询角色列表
-        List<SysUserRole> sysUserRoleList = sysUserRoleService.list(Wrappers.lambdaQuery(SysUserRole.class).eq(SysUserRole::getUserId, userId));
-        if (sysUserRoleList.isEmpty()) {
+        List<SysRole> sysRoleList = sysRoleService.listSysRoleByUserId(userId);
+        boolean admin=sysRoleList.stream().anyMatch(sysRole -> "admin".equalsIgnoreCase(sysRole.getRoleCode()));
+        if (!admin&&CollectionUtil.isEmpty(sysRoleList)) {
             return Sets.newHashSet();
         }
-        List<Long> roleIdList = sysUserRoleList.stream().map(item -> item.getRoleId()).collect(Collectors.toList());
+        List<Long> roleIdList = sysRoleList.stream().map(SysRole::getId).collect(Collectors.toList());
         // 查询按钮菜单权限标识
         List<SysRoleMenu> sysRoleMenuList = sysRoleMenuService.list(Wrappers.lambdaQuery(SysRoleMenu.class).in(SysRoleMenu::getRoleId, roleIdList));
-        if (sysRoleMenuList.isEmpty()) {
+        if (!admin&&sysRoleMenuList.isEmpty()) {
             return Sets.newHashSet();
         }
         // 查询菜单
@@ -248,7 +254,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
         queryWrapper.eq(SysMenu::getMenuType, MenuTypeEnum.BUTTON.getCode());
         queryWrapper.eq(SysMenu::getStatus, StatusEnum.YES.getCode());
         queryWrapper.eq(!TenantUtil.isTuoRen(),SysMenu::getTenantMenu, true);
-        queryWrapper.in(Boolean.FALSE.equals(SecurityUtil.isSuperAdmin()),SysMenu::getId, menuIds);
+        queryWrapper.in(!admin,SysMenu::getId, menuIds);
         List<SysMenu> sysMenuList = this.list(queryWrapper);
         return sysMenuList.stream().map(item -> item.getPermission()).collect(Collectors.toSet());
     }