|
@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -53,7 +54,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
Page<SysMenu> page = this.page(new Page<>(param.getPageNum(),param.getPageSize()), wrapper);
|
|
|
// List<SysMenuVo> voList = getByParentId(null,page.getRecords(),false,null);
|
|
|
|
|
|
- List<SysMenuVo> allVos = setTreeMenuVo(false,null);
|
|
|
+ List<SysMenuVo> allVos = setTreeMenuVo(false,null,null);
|
|
|
List<Long> ids = page.getRecords().parallelStream().map(SysMenu::getId).collect(Collectors.toList());
|
|
|
List<SysMenuVo> voList = allVos.parallelStream().filter(vo -> ids.contains(vo.getId())).collect(Collectors.toList());
|
|
|
|
|
@@ -65,7 +66,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
|
|
|
@Override
|
|
|
public List<SysMenuVo> allShowList() {
|
|
|
- return setTreeMenuVo(true,null);
|
|
|
+ return setTreeMenuVo(true,null,null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -74,7 +75,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
List<SysMenu> menuList = this.getListByUserId(userId);
|
|
|
List<Long> menuIds = menuList.parallelStream().map(SysMenu::getId).collect(Collectors.toList());
|
|
|
menuList.forEach(sysMenu -> setMenuIds(menuIds,sysMenu));
|
|
|
- return getByRoleId(menuIds,user.getRoleId());
|
|
|
+ return getByRoleId(menuIds, user.getRoleId());
|
|
|
}
|
|
|
|
|
|
|
|
@@ -95,7 +96,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
}
|
|
|
menuIds = roleMenus.parallelStream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
|
|
|
}
|
|
|
- return setTreeMenuVo(true,menuIds);
|
|
|
+ return setTreeMenuVo(true,menuIds,2);
|
|
|
}
|
|
|
|
|
|
//递归设置menuTree
|
|
@@ -130,7 +131,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
}
|
|
|
|
|
|
//查询到全部list ,根据parentId组装树形结构
|
|
|
- private List<SysMenuVo> setTreeMenuVo( boolean show ,List<Long> menuIds){
|
|
|
+ private List<SysMenuVo> setTreeMenuVo( boolean show ,List<Long> menuIds,Integer notType){
|
|
|
LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
|
|
|
if(show){
|
|
|
wrapper.eq(SysMenu::getIsShow,1);
|
|
@@ -138,6 +139,9 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
if(menuIds != null){
|
|
|
wrapper.in(SysMenu::getId,menuIds);
|
|
|
}
|
|
|
+ if(notType!=null){
|
|
|
+ wrapper.notIn(SysMenu::getType, Arrays.asList(notType));
|
|
|
+ }
|
|
|
List<SysMenu> list = this.list(wrapper);
|
|
|
|
|
|
List<SysMenuVo> voList = new ArrayList<>();
|
|
@@ -167,6 +171,9 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
return voList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 递归 将children为空设置为null
|
|
|
+ */
|
|
|
private void setChildrenNull(List<SysMenuVo> voList){
|
|
|
if(voList == null || voList.size() ==0){
|
|
|
return ;
|
|
@@ -180,5 +187,14 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ @Override
|
|
|
+ public List<SysMenu> getButtonByUserId(Long userId) {
|
|
|
+ SysUser user = userService.getById(userId);
|
|
|
+ List<SysRoleMenu> roleMenus = roleMenuService.getByRoleId(user.getRoleId());
|
|
|
+ List<Long> menuId = roleMenus.parallelStream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
|
|
|
+ LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(SysMenu::getId,menuId);
|
|
|
+ wrapper.eq(SysMenu::getType,2);
|
|
|
+ return this.list(wrapper);
|
|
|
+ }
|
|
|
}
|