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')") 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); } 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); } 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); } } 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>