|
@@ -36,26 +36,14 @@ public class MenuLogicImpl implements MenuLogic {
|
|
|
public List<MenuVO> getMenuListByUserId(Long userId) {
|
|
public List<MenuVO> getMenuListByUserId(Long userId) {
|
|
|
List<Role> roles = roleService.getRolesOfUser(userId);
|
|
List<Role> roles = roleService.getRolesOfUser(userId);
|
|
|
List<MenuVO> menuVOs = new ArrayList<>();
|
|
List<MenuVO> menuVOs = new ArrayList<>();
|
|
|
- //for worker
|
|
|
|
|
- if (roles.contains(roleService.getRoleByRoleName("worker"))
|
|
|
|
|
- && !roles.contains(roleService.getRoleByRoleName("manager"))) {
|
|
|
|
|
- menuVOs = menuVOWrapper.wrap(menuService.getMenuListByRoleName("worker"));
|
|
|
|
|
- }
|
|
|
|
|
- //for manager
|
|
|
|
|
- if (roles.contains(roleService.getRoleByRoleName("manager"))) {
|
|
|
|
|
- menuVOs.addAll(menuVOWrapper.wrap(menuService.getMenuListByRoleName("worker")));
|
|
|
|
|
- List<MenuVO> menuVOsofManager =
|
|
|
|
|
- menuVOWrapper.wrap(menuService.getMenuListByRoleName("manager"));
|
|
|
|
|
- for (MenuVO m : menuVOsofManager) {
|
|
|
|
|
|
|
+ for (Role role : roles) {
|
|
|
|
|
+ List<MenuVO> menuVOList = menuVOWrapper.wrap(menuService.getMenuListByRoleId(role.getId()));
|
|
|
|
|
+ for (MenuVO m : menuVOList) {
|
|
|
if (!menuVOs.stream().anyMatch(menuVO -> menuVO.toString().equals(m.toString()))) {
|
|
if (!menuVOs.stream().anyMatch(menuVO -> menuVO.toString().equals(m.toString()))) {
|
|
|
menuVOs.add(m);
|
|
menuVOs.add(m);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //for admin
|
|
|
|
|
- if (roles.equals(roleService.getRoleByRoleName("admin"))) {
|
|
|
|
|
- menuVOs.addAll(menuVOWrapper.wrap(menuService.getMenuListByRoleName("admin")));
|
|
|
|
|
- }
|
|
|
|
|
return menuVOs;
|
|
return menuVOs;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|