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