zhangxin 8 rokov pred
rodič
commit
7336d54f66

+ 1 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/MenuService.java

@@ -10,6 +10,5 @@ import java.util.List;
  */
 public interface MenuService {
 
-    List<Menu> getMenuListByRoleName(String roleName);
-
+    List<Menu> getMenuListByRoleId(Long roleId);
 }

+ 2 - 4
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/MenuServiceImpl.java

@@ -2,7 +2,6 @@ package cn.iselab.mooctest.site.service.impl;
 
 import cn.iselab.mooctest.site.dao.MenuDao;
 import cn.iselab.mooctest.site.dao.RoleDao;
-import cn.iselab.mooctest.site.models.Role;
 import cn.iselab.mooctest.site.models.Menu;
 import cn.iselab.mooctest.site.service.MenuService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,8 +23,7 @@ public class MenuServiceImpl implements MenuService {
     private RoleDao roleDao;
 
     @Override
-    public List<Menu> getMenuListByRoleName(String roleName) {
-        Role role = roleDao.findByName(roleName);
-        return menuDao.findByRoleId(role.getId());
+    public List<Menu> getMenuListByRoleId(Long roleId) {
+        return menuDao.findByRoleId(roleId);
     }
 }

+ 3 - 15
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/MenuLogicImpl.java

@@ -36,26 +36,14 @@ public class MenuLogicImpl implements MenuLogic {
     public List<MenuVO> getMenuListByUserId(Long userId) {
         List<Role> roles = roleService.getRolesOfUser(userId);
         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()))) {
                     menuVOs.add(m);
                 }
             }
         }
-        //for admin
-        if (roles.equals(roleService.getRoleByRoleName("admin"))) {
-            menuVOs.addAll(menuVOWrapper.wrap(menuService.getMenuListByRoleName("admin")));
-        }
         return menuVOs;
     }
 }