diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java index 6e413e5d..487f0573 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java @@ -7,6 +7,8 @@ import pc.exam.pp.framework.common.enums.UserTypeEnum; import pc.exam.pp.framework.common.pojo.CommonResult; import pc.exam.pp.framework.security.config.SecurityProperties; import pc.exam.pp.framework.security.core.util.SecurityFrameworkUtils; +import pc.exam.pp.module.infra.dal.dataobject.config.ConfigDO; +import pc.exam.pp.module.infra.service.config.ConfigService; import pc.exam.pp.module.system.controller.admin.auth.vo.*; import pc.exam.pp.module.system.convert.auth.AuthConvert; import pc.exam.pp.module.system.dal.dataobject.permission.MenuDO; @@ -66,6 +68,9 @@ public class AuthController { @Resource private SecurityProperties securityProperties; + @Resource + private ConfigService configService; + @PostMapping("/login") @PermitAll @Operation(summary = "使用账号密码登录") @@ -110,7 +115,6 @@ public class AuthController { if (user == null) { return success(null); } - // 1.2 获得角色列表 Set roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId()); if (CollUtil.isEmpty(roleIds)) { @@ -122,8 +126,19 @@ public class AuthController { // 1.3 获得菜单列表 Set menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId)); List menuList = menuService.getMenuList(menuIds); - menuList = menuService.filterDisableMenus(menuList); - + // 1.4 判断是否为学生,并且是否为考试模式 + if (user.getUserType().equals("2")) { + // 获取考试模式数据 + ConfigDO config = configService.getConfigByKey("student_login"); + if (config.getValue().equals("0")) { + // 考试模式菜单返回为空 + menuList = null; + } else { + menuList = menuService.filterDisableMenus(menuList); + } + } else { + menuList = menuService.filterDisableMenus(menuList); + } // 2. 拼接结果返回 return success(AuthConvert.INSTANCE.convert(user, roles, menuList)); }