|
@@ -7,6 +7,7 @@ import com.google.gson.Gson;
|
|
import com.qmth.themis.backend.config.DictionaryConfig;
|
|
import com.qmth.themis.backend.config.DictionaryConfig;
|
|
import com.qmth.themis.business.config.SystemConfig;
|
|
import com.qmth.themis.business.config.SystemConfig;
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
|
+import com.qmth.themis.business.dto.AuthDto;
|
|
import com.qmth.themis.business.dto.response.RoomCodeQueryDto;
|
|
import com.qmth.themis.business.dto.response.RoomCodeQueryDto;
|
|
import com.qmth.themis.business.dto.response.TEExamQueryDto;
|
|
import com.qmth.themis.business.dto.response.TEExamQueryDto;
|
|
import com.qmth.themis.business.entity.*;
|
|
import com.qmth.themis.business.entity.*;
|
|
@@ -15,6 +16,7 @@ import com.qmth.themis.business.enums.RoleEnum;
|
|
import com.qmth.themis.business.enums.UploadFileEnum;
|
|
import com.qmth.themis.business.enums.UploadFileEnum;
|
|
import com.qmth.themis.business.service.*;
|
|
import com.qmth.themis.business.service.*;
|
|
import com.qmth.themis.business.util.EhcacheUtil;
|
|
import com.qmth.themis.business.util.EhcacheUtil;
|
|
|
|
+import com.qmth.themis.business.util.RedisUtil;
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
@@ -79,6 +81,9 @@ public class SysController {
|
|
@Resource
|
|
@Resource
|
|
TEExamStudentService teExamStudentService;
|
|
TEExamStudentService teExamStudentService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ RedisUtil redisUtil;
|
|
|
|
+
|
|
@ApiOperation(value = "菜单查询接口")
|
|
@ApiOperation(value = "菜单查询接口")
|
|
@RequestMapping(value = "/getMenu", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/getMenu", method = RequestMethod.POST)
|
|
@ApiResponses({@ApiResponse(code = 200, message = "菜单信息", response = TBPrivilege.class)})
|
|
@ApiResponses({@ApiResponse(code = 200, message = "菜单信息", response = TBPrivilege.class)})
|
|
@@ -289,39 +294,46 @@ public class SysController {
|
|
}
|
|
}
|
|
//首先查询当前用户所要监控的roomCode
|
|
//首先查询当前用户所要监控的roomCode
|
|
QueryWrapper<TBExamInvigilateUser> examInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TBExamInvigilateUser> examInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + "::" + tbUser.getId());
|
|
examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, tbUser.getOrgId())
|
|
examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, tbUser.getOrgId())
|
|
- .eq(TBExamInvigilateUser::getExamId, examId)
|
|
|
|
- .eq(TBExamInvigilateUser::getUserId, tbUser.getId());
|
|
|
|
|
|
+ .eq(TBExamInvigilateUser::getExamId, examId);
|
|
|
|
+ if (authDto.getRoleCodes().toString().contains(RoleEnum.INVIGILATE.name())) {
|
|
|
|
+ examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getUserId, tbUser.getId());
|
|
|
|
+ }
|
|
List<TBExamInvigilateUser> tbExamInvigilateUserList = tbExamInvigilateUserService.list(examInvigilateUserQueryWrapper);
|
|
List<TBExamInvigilateUser> tbExamInvigilateUserList = tbExamInvigilateUserService.list(examInvigilateUserQueryWrapper);
|
|
Set<String> roomCodeSet = null;
|
|
Set<String> roomCodeSet = null;
|
|
if (Objects.nonNull(tbExamInvigilateUserList) && tbExamInvigilateUserList.size() > 0) {
|
|
if (Objects.nonNull(tbExamInvigilateUserList) && tbExamInvigilateUserList.size() > 0) {
|
|
roomCodeSet = tbExamInvigilateUserList.stream().map(s -> s.getRoomCode()).collect(Collectors.toSet());
|
|
roomCodeSet = tbExamInvigilateUserList.stream().map(s -> s.getRoomCode()).collect(Collectors.toSet());
|
|
|
|
+ } else {
|
|
|
|
+ tbExamInvigilateUserList = null;
|
|
}
|
|
}
|
|
- //根据roomCode获取当前老师所要监考的全部应考学生数
|
|
|
|
- QueryWrapper<TEExamStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
|
|
|
|
- teExamStudentQueryWrapper.lambda().in(TEExamStudent::getRoomCode, roomCodeSet);
|
|
|
|
- List<TEExamStudent> teExamStudentList = teExamStudentService.list(teExamStudentQueryWrapper);
|
|
|
|
- Set<Long> examActivityIdSet = null;
|
|
|
|
List<TEExamActivity> teExamActivityList = null;
|
|
List<TEExamActivity> teExamActivityList = null;
|
|
- List<Map> courseList = null;
|
|
|
|
- if (Objects.nonNull(teExamStudentList) && teExamStudentList.size() > 0) {
|
|
|
|
- examActivityIdSet = new HashSet<>();
|
|
|
|
- courseList = new ArrayList<>();
|
|
|
|
- Set<Long> finalExamActivityIdSet = examActivityIdSet;
|
|
|
|
- List<Map> finalCourseList = courseList;
|
|
|
|
- teExamStudentList.forEach(s -> {
|
|
|
|
- finalExamActivityIdSet.add(s.getExamActivityId());
|
|
|
|
- Map map = new HashMap();
|
|
|
|
- map.put("courseCode", s.getCourseCode());
|
|
|
|
- map.put("courseName", s.getCourseName());
|
|
|
|
- finalCourseList.add(map);
|
|
|
|
- });
|
|
|
|
- teExamActivityList = teExamActivityService.listByIds(examActivityIdSet);
|
|
|
|
|
|
+ Set<Map> courseSet = null;
|
|
|
|
+ if (Objects.nonNull(roomCodeSet)) {
|
|
|
|
+ //根据roomCode获取当前老师所要监考的全部应考学生数
|
|
|
|
+ QueryWrapper<TEExamStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ teExamStudentQueryWrapper.lambda().in(TEExamStudent::getRoomCode, roomCodeSet);
|
|
|
|
+ List<TEExamStudent> teExamStudentList = teExamStudentService.list(teExamStudentQueryWrapper);
|
|
|
|
+ Set<Long> examActivityIdSet = null;
|
|
|
|
+ if (Objects.nonNull(teExamStudentList) && teExamStudentList.size() > 0) {
|
|
|
|
+ examActivityIdSet = new HashSet<>();
|
|
|
|
+ courseSet = new HashSet<>();
|
|
|
|
+ Set<Long> finalExamActivityIdSet = examActivityIdSet;
|
|
|
|
+ Set<Map> finalCourseSet = courseSet;
|
|
|
|
+ teExamStudentList.forEach(s -> {
|
|
|
|
+ finalExamActivityIdSet.add(s.getExamActivityId());
|
|
|
|
+ Map map = new HashMap();
|
|
|
|
+ map.put("courseCode", s.getCourseCode());
|
|
|
|
+ map.put("courseName", s.getCourseName());
|
|
|
|
+ finalCourseSet.add(map);
|
|
|
|
+ });
|
|
|
|
+ teExamActivityList = teExamActivityService.listByIds(examActivityIdSet);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|
|
map.put("examActivitys", teExamActivityList);
|
|
map.put("examActivitys", teExamActivityList);
|
|
map.put("examRooms", tbExamInvigilateUserList);
|
|
map.put("examRooms", tbExamInvigilateUserList);
|
|
- map.put("examCourses", courseList);
|
|
|
|
|
|
+ map.put("examCourses", courseSet);
|
|
return ResultUtil.ok(map);
|
|
return ResultUtil.ok(map);
|
|
}
|
|
}
|
|
}
|
|
}
|