From eecec8fbd91e0e37c51071982f8d16418a2ae9dc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 二月 2024 16:03:59 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/resources/mapper/system/RoleMenuMapper.xml                        |   14 ++++++++++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/RoleMenuService.java          |    2 ++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/RoleController.java        |   11 +++++------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/mapper/RoleMenuMapper.java            |    2 ++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/impl/RoleMenuServiceImpl.java |    5 +++++
 5 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/RoleController.java
index 884fb4b..98160fb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/RoleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/RoleController.java
@@ -25,7 +25,6 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * Created by vincent on 2/13/2024
@@ -139,11 +138,11 @@
     @PreAuthorize("hasAuthority('system:role:list')")
     @GetMapping("/role/scope/list")
     public R scopeList(@RequestParam Long roleId) {
-        List<RoleMenu> list = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().eq(RoleMenu::getRoleId, roleId));
-        if (!Cools.isEmpty(list)) {
-            return R.ok().add(list.stream().map(RoleMenu::getMenuId).collect(Collectors.toList()));
-        }
-        return R.ok();
+//        List<RoleMenu> list = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().eq(RoleMenu::getRoleId, roleId));
+//        if (!Cools.isEmpty(list)) {
+//            return R.ok().add(list.stream().map(RoleMenu::getMenuId).collect(Collectors.toList()));
+//        }
+        return R.ok().add(roleMenuService.listStrictlyMenuByRoleId(roleId));
     }
 
     @PreAuthorize("hasAuthority('system:role:update')")
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/mapper/RoleMenuMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/mapper/RoleMenuMapper.java
index 94af2f7..aba8567 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/mapper/RoleMenuMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/mapper/RoleMenuMapper.java
@@ -17,4 +17,6 @@
     @InterceptorIgnore(tenantLine = "true")
     List<Menu> listMenuByUserId(@Param("userId") Long userId, @Param("type") Integer menuType);
 
+    List<Long> listStrictlyMenuByRoleId(@Param("roleId") Long roleId);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/RoleMenuService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/RoleMenuService.java
index 8126012..3faea2d 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/RoleMenuService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/RoleMenuService.java
@@ -10,4 +10,6 @@
 
     List<Menu> listMenuByUserId(Long userId, Integer menuType);
 
+    List<Long> listStrictlyMenuByRoleId(Long roleId);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/impl/RoleMenuServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/impl/RoleMenuServiceImpl.java
index 8c5f6c9..2532125 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/impl/RoleMenuServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/service/impl/RoleMenuServiceImpl.java
@@ -17,4 +17,9 @@
         return baseMapper.listMenuByUserId(userId, menuType);
     }
 
+    @Override
+    public List<Long> listStrictlyMenuByRoleId(Long roleId) {
+        return baseMapper.listStrictlyMenuByRoleId(roleId);
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/resources/mapper/system/RoleMenuMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/system/RoleMenuMapper.xml
index f423e89..b1eb6f1 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/system/RoleMenuMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/system/RoleMenuMapper.xml
@@ -22,4 +22,18 @@
         order by sort
     </select>
 
+    <select id="listStrictlyMenuByRoleId" resultType="java.lang.Long">
+        select sm.id
+        from sys_menu sm
+        left join sys_role_menu srm on sm.id = srm.menu_id
+        where srm.role_id = #{roleId}
+        and sm.id not in (
+            select sm.parent_id
+            from sys_menu sm
+            inner join sys_role_menu srm on sm.id = srm.menu_id
+            and srm.role_id = #{roleId}
+        )
+        order by sm.sort
+    </select>
+
 </mapper>

--
Gitblit v1.9.1