Przeglądaj źródła

Merge branch 'dev'
111

wangliang 4 lat temu
rodzic
commit
3c3e9fa37f

+ 30 - 0
themis-business/src/main/java/com/qmth/themis/business/cache/ExamRecordCacheUtil.java

@@ -290,4 +290,34 @@ public class ExamRecordCacheUtil {
     public static Integer getForceFinish(Long recordId) {
         return (Integer) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), "forceFinish");
     }
+
+    public static void setStartTime(Long recordId, Date startTime) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), "startTime", startTime);
+        examRecordService.dataUpdateMq(recordId, "start_time", startTime);
+    }
+
+    public static void setEndTime(Long recordId, Date endTime) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), "endTime", endTime);
+        examRecordService.dataUpdateMq(recordId, "end_time", endTime);
+    }
+
+    public static void setOpeningSeconds(Long recordId, Integer openingSeconds) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), "openingSeconds", openingSeconds);
+        examRecordService.dataUpdateMq(recordId, "opening_seconds", openingSeconds);
+    }
+
+    public static void setMinDurationSeconds(Long recordId, Integer minDurationSeconds) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), minDurationSeconds, minDurationSeconds);
+        examRecordService.dataUpdateMq(recordId, "min_duration_seconds", minDurationSeconds);
+    }
+
+    public static void setMaxDurationSeconds(Long recordId, Integer maxDurationSeconds) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), maxDurationSeconds, maxDurationSeconds);
+        examRecordService.dataUpdateMq(recordId, "max_duration_seconds", maxDurationSeconds);
+    }
+
+    public static void setForceFinish(Long recordId, Integer forceFinish) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), forceFinish, forceFinish);
+        examRecordService.dataUpdateMq(recordId, "force_finish", forceFinish);
+    }
 }

+ 6 - 0
themis-exam/src/main/java/com/qmth/themis/exam/api/TEStudentController.java

@@ -322,6 +322,12 @@ public class TEStudentController {
         Gson gson = new Gson();
         ExamActivityUnFinishBean examActivityUnFinishBean = gson.fromJson(gson.toJson(teExamActivityDto), ExamActivityUnFinishBean.class);
         examActivityUnFinishBean.setRecordId(recordId);
+        ExamRecordCacheUtil.setStartTime(recordId, examActivityUnFinishBean.getStartTime());
+        ExamRecordCacheUtil.setEndTime(recordId, examActivityCacheBean.getFinishTime());
+        ExamRecordCacheUtil.setOpeningSeconds(recordId, examActivityCacheBean.getOpeningSeconds());
+        ExamRecordCacheUtil.setMinDurationSeconds(recordId, ec.getMinDurationSeconds());
+        ExamRecordCacheUtil.setMaxDurationSeconds(recordId, examActivityCacheBean.getMaxDurationSeconds());
+        ExamRecordCacheUtil.setForceFinish(recordId, ec.getForceFinish());
         return new ExamUnFinishBean(ec.getId(), ec.getName(), ec.getPreNotice(), ec.getPreNoticeStaySeconds(), ec.getPostNotice(), examActivityUnFinishBean);
     }
 }