|
|
@@ -50,13 +50,36 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
|
|
|
@Override
|
|
|
public List<MenuVo> getAuthMenuList(MenuTreeDto dto) {
|
|
|
- List<UserRoleRelation> relations = userRoleRelationMapper.selectList(Wrappers.lambdaQuery(UserRoleRelation.class)
|
|
|
- .select(UserRoleRelation::getRoleId)
|
|
|
- .eq(UserRoleRelation::getUserId, StpUtil.getLoginIdAsLong()));
|
|
|
- if (CollectionUtils.isEmpty(relations)) {
|
|
|
- return new ArrayList<>();
|
|
|
- }
|
|
|
- List<Long> roleIds = relations.stream().map(UserRoleRelation::getRoleId).collect(Collectors.toList());
|
|
|
+ List<Long> roleIds = getUserRoleIds();
|
|
|
+ return getAuthMenuByRoleIds(roleIds,dto);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询用户菜单服务
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<MenuServeVo> getAuthMenuServe() {
|
|
|
+ List<MenuVo> menuVos = getAuthMenuList(new MenuTreeDto());
|
|
|
+ return getSubMenu(menuVos);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据角色获取菜单
|
|
|
+ * @param roleIds
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<MenuVo> getAuthMenuByRoleIds(List<Long> roleIds){
|
|
|
+ return getAuthMenuByRoleIds(roleIds,new MenuTreeDto());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据角色获取菜单
|
|
|
+ * @param roleIds
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<MenuVo> getAuthMenuByRoleIds(List<Long> roleIds,MenuTreeDto dto){
|
|
|
List<Long> authMenuIdList = null;
|
|
|
// 非超级管理员权限过滤
|
|
|
if (!roleIds.contains(GlobalConstant.SUPER_ADMIN_ROLE_ID)) {
|
|
|
@@ -85,11 +108,25 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 查询用户菜单服务
|
|
|
+ * 获取用户角色
|
|
|
+ * @return
|
|
|
*/
|
|
|
- @Override
|
|
|
- public List<MenuServeVo> getAuthMenuServe() {
|
|
|
- List<MenuVo> menuVos = getAuthMenuList(new MenuTreeDto());
|
|
|
+ private List<Long> getUserRoleIds(){
|
|
|
+ List<UserRoleRelation> relations = userRoleRelationMapper.selectList(Wrappers.lambdaQuery(UserRoleRelation.class)
|
|
|
+ .select(UserRoleRelation::getRoleId)
|
|
|
+ .eq(UserRoleRelation::getUserId, StpUtil.getLoginIdAsLong()));
|
|
|
+ if (CollectionUtils.isEmpty(relations)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return relations.stream().map(UserRoleRelation::getRoleId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取子系统菜单
|
|
|
+ * @param menuVos
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<MenuServeVo> getSubMenu(List<MenuVo> menuVos){
|
|
|
Map<Long, MenuServeVo> menuVoMap = new HashMap<>();
|
|
|
|
|
|
List<MenuVo> childMenus = new ArrayList<>();
|