From 6635acb723ddf8a68e213de6f3c761f5b102d8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=BB=E7=BB=B4=E7=82=B3?= Date: Thu, 24 Apr 2025 14:54:21 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E5=AD=A6?= =?UTF-8?q?=E7=94=9F=E8=B4=A6=E5=8F=B7=EF=BC=8C=E5=88=A4=E6=96=AD=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E4=B8=BA=E8=80=83=E8=AF=95=E6=A8=A1=E5=BC=8F=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=98=AF=E8=80=83=E8=AF=95=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E8=8F=9C=E5=8D=95=E8=BF=94=E5=9B=9Enull=EF=BC=8C?= =?UTF-8?q?=E4=BB=A3=E8=A1=A8=E5=8F=AA=E6=9C=89=E8=80=83=E8=AF=95=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/auth/AuthController.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) 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)); }