瀏覽代碼

监考端接口

wangliang 4 年之前
父節點
當前提交
14677c46e8
共有 1 個文件被更改,包括 16 次插入12 次删除
  1. 16 12
      themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java

+ 16 - 12
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java

@@ -15,6 +15,7 @@ import com.qmth.themis.business.cache.bean.ExamCacheBean;
 import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.constant.SystemConstant;
 import com.qmth.themis.business.dto.AuthDto;
+import com.qmth.themis.business.dto.ExamPropCountDto;
 import com.qmth.themis.business.dto.MqDto;
 import com.qmth.themis.business.entity.*;
 import com.qmth.themis.business.enums.*;
@@ -481,6 +482,7 @@ public class TIeInvigilateController {
         }
 
         Integer exceptionCount = 0, warningCount = 0, reexamCount = 0;//异常人数,预警人数,重考人数
+        ExamPropCountDto examPropCountDto = new ExamPropCountDto();
         //获取异常人数
         if (Objects.nonNull(examStudentIdSet)) {
             QueryWrapper<TIeInvigilateExceptionInfo> tIeInvigilateExceptionInfoQueryWrapper = new QueryWrapper<>();
@@ -494,6 +496,10 @@ public class TIeInvigilateController {
             QueryWrapper<TEExamReexam> teExamReexamQueryWrapper = new QueryWrapper<>();
             teExamReexamQueryWrapper.lambda().in(TEExamReexam::getExamStudentId, examStudentIdSet).eq(TEExamReexam::getStatus, 1);
             reexamCount = teExamReexamService.count(teExamReexamQueryWrapper);
+
+            examPropCountDto.setExceptionCount(exceptionCount);
+            examPropCountDto.setWarningCount(warningCount);
+            examPropCountDto.setReexamCount(reexamCount);
         }
         if (Objects.nonNull(examActivityIdSet)) {
             //获取已待考、考试中学生
@@ -507,21 +513,16 @@ public class TIeInvigilateController {
                 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);
+                    calendar.add(Calendar.SECOND, activityMaxDurationSeconds.intValue());
                 }
-
-                if(Objects.nonNull(examCacheBean.getForceFinish()) && examCacheBean.getForceFinish() == 1){
-
+//                Date now = new Date();
+//                if (now.getTime() >= calendar.getTime().getTime() && now.getTime() <= finishTime.getTime()) {
+                examPropCountDto.setMaxDurationSeconds(calendar.getTime().getTime());
+                if (Objects.nonNull(examCacheBean.getForceFinish()) && examCacheBean.getForceFinish() == 1) {
+                    examPropCountDto.setFinishTime(finishTime.getTime());
                 }
-//                if(examActivityCacheBean.getFinishTime()){
-//
-//                }
                 Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examActivityRecordCacheKey(s));
                 if (Objects.nonNull(objectMap) && objectMap.size() > 0) {
-
                     objectMap.forEach((k, v) -> {
                         ExamRecordStatusEnum examRecordStatusEnum = (ExamRecordStatusEnum) v;
                         //已待考
@@ -534,8 +535,11 @@ public class TIeInvigilateController {
                         }
                     });
                 }
+//                }
             });
         }
-        return ResultUtil.ok(Collections.singletonMap("success", true));
+        examPropCountDto.setPrepareCount(prepareCount.get());
+        examPropCountDto.setExamCount(examCount.get());
+        return ResultUtil.ok(examPropCountDto);
     }
 }