From 44b5239f34a8612a5663fb070fd57d7a4cb277f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Tue, 29 Jun 2021 13:57:06 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81=EF=BC=8C=E4=BC=98=E5=8C=96=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/modular/app/service/SysAppService.java | 3 ++- .../app/service/impl/SysAppServiceImpl.java | 4 ++-- .../service/impl/SysRoleMenuServiceImpl.java | 18 +++++++++--------- .../service/impl/SysUserRoleServiceImpl.java | 5 ++--- .../test/java/vip/xiaonuo/core/BaseJunit.java | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/SysAppService.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/SysAppService.java index 299f9485..3d396430 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/SysAppService.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/SysAppService.java @@ -44,11 +44,12 @@ public interface SysAppService extends IService { * 获取用户应用相关信息 * * @param userId 用户id + * @param roleIdList 角色id集合 * @return 用户拥有的应用信息,格式:[{"code":"system","name":"系统应用","active":true}] * @author xuyuxiang * @date 2020/3/13 16:25 */ - List getLoginApps(Long userId); + List getLoginApps(Long userId, List roleIdList); /** * 查询系统应用 diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/impl/SysAppServiceImpl.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/impl/SysAppServiceImpl.java index a5693a23..b9946258 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/impl/SysAppServiceImpl.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/app/service/impl/SysAppServiceImpl.java @@ -68,7 +68,7 @@ public class SysAppServiceImpl extends ServiceImpl impleme private SysMenuService sysMenuService; @Override - public List getLoginApps(Long userId) { + public List getLoginApps(Long userId, List roleIdList) { List userAppDictList = CollectionUtil.newArrayList(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -81,7 +81,7 @@ public class SysAppServiceImpl extends ServiceImpl impleme //如果不是超级管理员则有自己的菜单对应的应用编码 if (!AdminTypeEnum.SUPER_ADMIN.getCode().equals(adminType)) { //获取用户菜单对应的应用编码集合 - List appCodeList = sysMenuService.getUserMenuAppCodeList(userId); + List appCodeList = sysMenuService.getUserMenuAppCodeList(userId, roleIdList); //当应用编码不为空时,则限制查询范围 if (ObjectUtil.isNotEmpty(appCodeList)) { queryWrapper.in(SysApp::getCode, appCodeList); diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java index 3626ea1c..8494b902 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java @@ -25,6 +25,7 @@ Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意 package vip.xiaonuo.sys.modular.role.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import vip.xiaonuo.sys.modular.role.entity.SysRoleMenu; @@ -34,6 +35,7 @@ import vip.xiaonuo.sys.modular.role.service.SysRoleMenuService; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; /** * 系统角色菜单service接口实现类 @@ -46,15 +48,13 @@ public class SysRoleMenuServiceImpl extends ServiceImpl getRoleMenuIdList(List roleIdList) { - List menuIdList = CollectionUtil.newArrayList(); - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - - queryWrapper.in(SysRoleMenu::getRoleId, roleIdList); - - this.list(queryWrapper).forEach(sysRoleMenu -> menuIdList.add(sysRoleMenu.getMenuId())); - - return menuIdList; + if(ObjectUtil.isNotEmpty(roleIdList)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysRoleMenu::getRoleId, roleIdList); + return this.list(queryWrapper).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); + } else { + return CollectionUtil.newArrayList(); + } } @Override diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserRoleServiceImpl.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserRoleServiceImpl.java index 6cfaa676..d27d8dc0 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserRoleServiceImpl.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserRoleServiceImpl.java @@ -37,6 +37,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; +import java.util.stream.Collectors; /** * 系统用户角色service接口实现类 @@ -52,11 +53,9 @@ public class SysUserRoleServiceImpl extends ServiceImpl getUserRoleIdList(Long userId) { - List roleIdList = CollectionUtil.newArrayList(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUserRole::getUserId, userId); - this.list(queryWrapper).forEach(sysUserRole -> roleIdList.add(sysUserRole.getRoleId())); - return roleIdList; + return this.list(queryWrapper).stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); } @Override diff --git a/snowy-main/src/test/java/vip/xiaonuo/core/BaseJunit.java b/snowy-main/src/test/java/vip/xiaonuo/core/BaseJunit.java index 6fad4db1..4c500444 100644 --- a/snowy-main/src/test/java/vip/xiaonuo/core/BaseJunit.java +++ b/snowy-main/src/test/java/vip/xiaonuo/core/BaseJunit.java @@ -24,7 +24,6 @@ Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意 */ package vip.xiaonuo.core; -import vip.xiaonuo.SnowyApplication; import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; @@ -33,6 +32,7 @@ import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; +import vip.xiaonuo.SnowyApplication; import javax.annotation.Resource;