【新增】学生账号,判断是否为考试模式,如果是考试模式,菜单返回null,代表只有考试模式
This commit is contained in:
@@ -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.common.pojo.CommonResult;
|
||||||
import pc.exam.pp.framework.security.config.SecurityProperties;
|
import pc.exam.pp.framework.security.config.SecurityProperties;
|
||||||
import pc.exam.pp.framework.security.core.util.SecurityFrameworkUtils;
|
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.controller.admin.auth.vo.*;
|
||||||
import pc.exam.pp.module.system.convert.auth.AuthConvert;
|
import pc.exam.pp.module.system.convert.auth.AuthConvert;
|
||||||
import pc.exam.pp.module.system.dal.dataobject.permission.MenuDO;
|
import pc.exam.pp.module.system.dal.dataobject.permission.MenuDO;
|
||||||
@@ -66,6 +68,9 @@ public class AuthController {
|
|||||||
@Resource
|
@Resource
|
||||||
private SecurityProperties securityProperties;
|
private SecurityProperties securityProperties;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ConfigService configService;
|
||||||
|
|
||||||
@PostMapping("/login")
|
@PostMapping("/login")
|
||||||
@PermitAll
|
@PermitAll
|
||||||
@Operation(summary = "使用账号密码登录")
|
@Operation(summary = "使用账号密码登录")
|
||||||
@@ -110,7 +115,6 @@ public class AuthController {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return success(null);
|
return success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1.2 获得角色列表
|
// 1.2 获得角色列表
|
||||||
Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId());
|
Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId());
|
||||||
if (CollUtil.isEmpty(roleIds)) {
|
if (CollUtil.isEmpty(roleIds)) {
|
||||||
@@ -122,8 +126,19 @@ public class AuthController {
|
|||||||
// 1.3 获得菜单列表
|
// 1.3 获得菜单列表
|
||||||
Set<Long> menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId));
|
Set<Long> menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId));
|
||||||
List<MenuDO> menuList = menuService.getMenuList(menuIds);
|
List<MenuDO> 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. 拼接结果返回
|
// 2. 拼接结果返回
|
||||||
return success(AuthConvert.INSTANCE.convert(user, roles, menuList));
|
return success(AuthConvert.INSTANCE.convert(user, roles, menuList));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user