|
@@ -6,12 +6,12 @@ import cn.iselab.mooctest.site.service.RoleService;
|
|
import cn.iselab.mooctest.site.web.data.MenuVO;
|
|
import cn.iselab.mooctest.site.web.data.MenuVO;
|
|
import cn.iselab.mooctest.site.web.data.wrapper.MenuVOWrapper;
|
|
import cn.iselab.mooctest.site.web.data.wrapper.MenuVOWrapper;
|
|
import cn.iselab.mooctest.site.web.logic.MenuLogic;
|
|
import cn.iselab.mooctest.site.web.logic.MenuLogic;
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+
|
|
|
|
+import java.util.*;
|
|
|
|
+
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -35,10 +35,17 @@ public class MenuLogicImpl implements MenuLogic {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<MenuVO> getMenuListByUserId(Long userId) {
|
|
public List<MenuVO> getMenuListByUserId(Long userId) {
|
|
- return roleService.getRolesOfUser(userId).stream().
|
|
|
|
|
|
+ List<MenuVO> menuVOS=roleService.getRolesOfUser(userId).stream().
|
|
flatMap(role -> menuVOWrapper.wrap(menuService.getMenuListByRoleId(role.getId())).stream())
|
|
flatMap(role -> menuVOWrapper.wrap(menuService.getMenuListByRoleId(role.getId())).stream())
|
|
.distinct()
|
|
.distinct()
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
+ menuVOS = menuVOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<MenuVO>(Comparator.comparing(MenuVO::getDetail))), ArrayList::new));
|
|
|
|
+
|
|
|
|
+ for(MenuVO menuVO:menuVOS){
|
|
|
|
+ System.out.println(menuVO.getDetail());
|
|
|
|
+ }
|
|
|
|
+ return menuVOS;
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -51,6 +58,7 @@ public class MenuLogicImpl implements MenuLogic {
|
|
.filter(vo -> vo.getRoleId() == RoleType.WORKER.getCode()).collect(Collectors.toList());
|
|
.filter(vo -> vo.getRoleId() == RoleType.WORKER.getCode()).collect(Collectors.toList());
|
|
List<MenuVO> managerMenus = allMenus.stream()
|
|
List<MenuVO> managerMenus = allMenus.stream()
|
|
.filter(vo -> vo.getRoleId() != RoleType.WORKER.getCode()).collect(Collectors.toList());
|
|
.filter(vo -> vo.getRoleId() != RoleType.WORKER.getCode()).collect(Collectors.toList());
|
|
|
|
+ managerMenus = managerMenus.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<MenuVO>(Comparator.comparing(MenuVO::getDetail))), ArrayList::new));
|
|
|
|
|
|
Map<String, List<MenuVO>> menuMap = new HashMap<>(2);
|
|
Map<String, List<MenuVO>> menuMap = new HashMap<>(2);
|
|
menuMap.put(STUDENT_MENUS, studentMenus);
|
|
menuMap.put(STUDENT_MENUS, studentMenus);
|