diff --git a/admin-console/src/main/java/com/ibeetl/admin/console/service/FunctionConsoleService.java b/admin-console/src/main/java/com/ibeetl/admin/console/service/FunctionConsoleService.java index 07f5abcf..7184df1d 100644 --- a/admin-console/src/main/java/com/ibeetl/admin/console/service/FunctionConsoleService.java +++ b/admin-console/src/main/java/com/ibeetl/admin/console/service/FunctionConsoleService.java @@ -124,7 +124,7 @@ public class FunctionConsoleService extends CoreBaseService { * @param userId * @return */ - @Cacheable(value=USER_FUNCTION_TREE_CACHE, key="userId") + @Cacheable(value=USER_FUNCTION_TREE_CACHE, key="#userId", unless = "#result == null || #result.size() == 0", cacheManager = "cacheManager1Day") public String getFunctionIdByUser(Long userId){ return this.roleFunctionConsoleDao.getFunctionIdByUser(userId); } diff --git a/admin-console/src/main/java/com/ibeetl/admin/console/service/MenuConsoleService.java b/admin-console/src/main/java/com/ibeetl/admin/console/service/MenuConsoleService.java index 5d972a7a..dd19113c 100644 --- a/admin-console/src/main/java/com/ibeetl/admin/console/service/MenuConsoleService.java +++ b/admin-console/src/main/java/com/ibeetl/admin/console/service/MenuConsoleService.java @@ -81,14 +81,14 @@ public class MenuConsoleService extends CoreBaseService { } public String getMenuIdsByRoleId(Long roleId){ - String menuIds = ""; + StringBuffer stringBuffer = new StringBuffer(); CoreRoleMenu roleMenu = new CoreRoleMenu(); roleMenu.setRoleId(roleId); List coreRoleMenuList = roleMenuDao.template(roleMenu); for(int i=0;null != coreRoleMenuList && i currentUserRoleIds = ThreadLocal.withInitial(() -> null); + private List buildFunctionTree(FunctionItem node){ List list = node.getChildren(); @@ -196,8 +203,14 @@ public class FunctionController { return Collections.EMPTY_LIST; } - CoreUser currentUser = platformService.getCurrentUser(); - String ids = functionConsoleService.getFunctionIdByUser(currentUser.getId()); + if(currentUserRoleIds.get() == null) { + CoreUser user = getUser(); + // 非管理员,才查询权限ID.避免数据量过大,数据库压力大 + if(!user.isAdmin()) { + currentUserRoleIds.set(functionConsoleService.getFunctionIdByUser(user.getId())); + } + } + String ids = currentUserRoleIds.get(); List views = new ArrayList(list.size()); for(FunctionItem item :list){ diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java index 296e3c3f..ec5b9d21 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java @@ -188,11 +188,11 @@ public class ResourcesQuestionSnapshotService extends CoreBaseService getScoreInfo( - Long questionSettingId, + Long teacherOpenCourseQuestionSettingId, @SCoreUser CoreUser coreUser) { - Assert.isTrue(coreUser.isStudent(), "非学生身份,无法提交!"); - return JsonResult.success(resourcesQuestionSnapshotService.getScoreInfo(questionSettingId)); + return JsonResult.success(resourcesQuestionSnapshotService.getScoreInfo(teacherOpenCourseQuestionSettingId)); }