use of com.company.project.vo.resp.PermissionRespNode in project springboot-manager by aitangbao.
the class HomeServiceImpl method getHomeInfo.
@Override
public HomeRespVO getHomeInfo(String userId) {
SysUser sysUser = userService.getById(userId);
UserInfoRespVO vo = new UserInfoRespVO();
if (sysUser != null) {
BeanUtils.copyProperties(sysUser, vo);
SysDept sysDept = deptService.getById(sysUser.getDeptId());
if (sysDept != null) {
vo.setDeptId(sysDept.getId());
vo.setDeptName(sysDept.getName());
}
}
List<PermissionRespNode> menus = permissionService.permissionTreeList(userId);
HomeRespVO respVO = new HomeRespVO();
respVO.setMenus(menus);
respVO.setUserInfo(vo);
return respVO;
}
use of com.company.project.vo.resp.PermissionRespNode in project springboot-manager by aitangbao.
the class PermissionServiceImpl method getChildAll.
/**
* 递归遍历所有
*/
private List<PermissionRespNode> getChildAll(String id, List<SysPermission> all) {
List<PermissionRespNode> list = new ArrayList<>();
for (SysPermission sysPermission : all) {
if (sysPermission.getPid().equals(id)) {
PermissionRespNode permissionRespNode = new PermissionRespNode();
BeanUtils.copyProperties(sysPermission, permissionRespNode);
permissionRespNode.setTitle(sysPermission.getName());
permissionRespNode.setChildren(getChildAll(sysPermission.getId(), all));
list.add(permissionRespNode);
}
}
return list;
}
use of com.company.project.vo.resp.PermissionRespNode in project springboot-manager by aitangbao.
the class PermissionServiceImpl method getChildExcBtn.
/**
* 只递归获取目录和菜单
*/
private List<PermissionRespNode> getChildExcBtn(String id, List<SysPermission> all) {
List<PermissionRespNode> list = new ArrayList<>();
for (SysPermission sysPermission : all) {
if (sysPermission.getPid().equals(id) && sysPermission.getType() != 3) {
PermissionRespNode permissionRespNode = new PermissionRespNode();
BeanUtils.copyProperties(sysPermission, permissionRespNode);
permissionRespNode.setTitle(sysPermission.getName());
permissionRespNode.setChildren(getChildExcBtn(sysPermission.getId(), all));
list.add(permissionRespNode);
}
}
return list;
}
use of com.company.project.vo.resp.PermissionRespNode in project springboot-manager by aitangbao.
the class PermissionServiceImpl method getTree.
/**
* 递归获取菜单树
*/
private List<PermissionRespNode> getTree(List<SysPermission> all, boolean type) {
List<PermissionRespNode> list = new ArrayList<>();
if (CollectionUtils.isEmpty(all)) {
return list;
}
for (SysPermission sysPermission : all) {
if ("0".equals(sysPermission.getPid())) {
PermissionRespNode permissionRespNode = new PermissionRespNode();
BeanUtils.copyProperties(sysPermission, permissionRespNode);
permissionRespNode.setTitle(sysPermission.getName());
if (type) {
permissionRespNode.setChildren(getChildExcBtn(sysPermission.getId(), all));
} else {
permissionRespNode.setChildren(getChildAll(sysPermission.getId(), all));
}
list.add(permissionRespNode);
}
}
return list;
}
use of com.company.project.vo.resp.PermissionRespNode in project springboot-manager by aitangbao.
the class PermissionServiceImpl method selectAllMenuByTree.
/**
* 获取所有的目录菜单树排除按钮
* 因为不管是新增或者修改
* 选择所属菜单目录的时候
* 都不可能选择到按钮
* 而且编辑的时候 所属目录不能
* 选择自己和它的子类
*/
@Override
public List<PermissionRespNode> selectAllMenuByTree(String permissionId) {
List<SysPermission> list = selectAll();
if (!CollectionUtils.isEmpty(list) && !StringUtils.isEmpty(permissionId)) {
for (SysPermission sysPermission : list) {
if (sysPermission.getId().equals(permissionId)) {
list.remove(sysPermission);
break;
}
}
}
List<PermissionRespNode> result = new ArrayList<>();
// 新增顶级目录是为了方便添加一级目录
PermissionRespNode respNode = new PermissionRespNode();
respNode.setId("0");
respNode.setTitle("默认顶级菜单");
respNode.setSpread(true);
respNode.setChildren(getTree(list, true));
result.add(respNode);
return result;
}
Aggregations