From e841a4b0649875792e5816035f060b80657ad3a4 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 19 Jun 2023 13:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96=E8=A7=92=E8=89=B2=E7=9A=84?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=92=8C=E8=8F=9C=E5=8D=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/SysRoleMenuOptionsService.java | 8 ++++++++ .../role/service/SysRoleMenuService.java | 8 ++++++++ .../impl/SysRoleMenuOptionsServiceImpl.java | 20 +++++++++++++++++++ .../service/impl/SysRoleMenuServiceImpl.java | 18 +++++++++++++++++ 4 files changed, 54 insertions(+) diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuOptionsService.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuOptionsService.java index d743de9e1..d056c6fe5 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuOptionsService.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuOptionsService.java @@ -88,4 +88,12 @@ public interface SysRoleMenuOptionsService extends IService */ void bindRoleMenuOptions(Long roleId, List sysMenuOptionsList); + /** + * 获取角色绑定的菜单功能id + * + * @author fengshuonan + * @since 2023/6/19 12:49 + */ + List getRoleBindMenuOptionsIdList(List roleIdList); + } \ No newline at end of file diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuService.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuService.java index 69ba93632..4d3349cef 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuService.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/SysRoleMenuService.java @@ -80,4 +80,12 @@ public interface SysRoleMenuService extends IService { */ void bindRoleMenus(Long roleId, List menuList); + /** + * 获取角色绑定的菜单id集合,返回菜单id的集合 + * + * @author fengshuonan + * @since 2023/6/19 12:45 + */ + List getRoleBindMenuIdList(List roleIdList); + } \ No newline at end of file diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuOptionsServiceImpl.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuOptionsServiceImpl.java index 94874b734..46821d05c 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuOptionsServiceImpl.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuOptionsServiceImpl.java @@ -27,6 +27,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * 角色和菜单下的功能关联业务实现层 @@ -102,6 +103,25 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl getRoleBindMenuOptionsIdList(List roleIdList) { + + if (ObjectUtil.isEmpty(roleIdList)) { + return new ArrayList<>(); + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysRoleMenuOptions::getRoleId, roleIdList); + queryWrapper.select(SysRoleMenuOptions::getMenuOptionId); + List roleMenuOptions = this.list(queryWrapper); + + if (ObjectUtil.isEmpty(roleMenuOptions)) { + return new ArrayList<>(); + } + + return roleMenuOptions.stream().map(SysRoleMenuOptions::getMenuOptionId).collect(Collectors.toList()); + } + @Override public List findList(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) { LambdaQueryWrapper wrapper = this.createWrapper(sysRoleMenuOptionsRequest); diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java index b60add056..e6671d97b 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleMenuServiceImpl.java @@ -110,6 +110,24 @@ public class SysRoleMenuServiceImpl extends ServiceImpl getRoleBindMenuIdList(List roleIdList) { + + if (ObjectUtil.isEmpty(roleIdList)) { + return new ArrayList<>(); + } + + LambdaQueryWrapper sysRoleMenuLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysRoleMenuLambdaQueryWrapper.in(SysRoleMenu::getRoleId, roleIdList); + sysRoleMenuLambdaQueryWrapper.select(SysRoleMenu::getMenuId); + List sysRoleMenuList = this.list(sysRoleMenuLambdaQueryWrapper); + if (ObjectUtil.isEmpty(sysRoleMenuList)) { + return new ArrayList<>(); + } + + return sysRoleMenuList.stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); + } + @Override public List findList(SysRoleMenuRequest sysRoleMenuRequest) { LambdaQueryWrapper wrapper = this.createWrapper(sysRoleMenuRequest);