Przeglądaj źródła

监考端接口

wangliang 4 lat temu
rodzic
commit
65e1e0d42f

+ 15 - 1
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java

@@ -189,7 +189,7 @@ public class TIeInvigilateController {
     @ApiResponses({@ApiResponse(code = 200, message = "监考监控信息", response = InvigilateListDetailBean.class)})
     public Result listDetail(@ApiParam(value = "考试记录id") @RequestParam Long examRecordId) {
         if (Objects.isNull(examRecordId) || Objects.equals(examRecordId, "")) {
-            throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_ID_IS_NULL);
+            throw new BusinessException(ExceptionResultEnum.RECORD_ID_IS_NULL);
         }
         //获取考试记录缓存
         Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(examRecordId));
@@ -499,6 +499,20 @@ public class TIeInvigilateController {
             //获取已待考、考试中学生
             examActivityIdSet.forEach(s -> {
                 ExamActivityCacheBean examActivityCacheBean = teExamActivityService.getExamActivityCacheBean(s);
+                Date startTime = examActivityCacheBean.getStartTime();
+                Date finishTime = examActivityCacheBean.getFinishTime();
+                Integer activityMaxDurationSeconds = Objects.nonNull(examActivityCacheBean.getMaxDurationSeconds()) ? examActivityCacheBean.getMaxDurationSeconds() : null;
+                Integer maxDurationSeconds = Objects.nonNull(examCacheBean.getMaxDurationSeconds()) ? examCacheBean.getMaxDurationSeconds() : null;
+                Integer finalMaxDurationSeconds = Objects.nonNull(activityMaxDurationSeconds) ? activityMaxDurationSeconds : maxDurationSeconds;
+                Calendar calendar = Calendar.getInstance();
+                if (Objects.nonNull(finalMaxDurationSeconds)) {
+                    calendar.setTime(startTime);
+                    calendar.add(Calendar.SECOND, (activityMaxDurationSeconds.intValue() + 30));
+//                        calendar.add(Calendar.SECOND, (activityMaxDurationSeconds.intValue()));
+                } else {
+                    calendar.setTime(finishTime);
+                }
+
                 if(Objects.nonNull(examCacheBean.getForceFinish()) && examCacheBean.getForceFinish() == 1){
 
                 }