Răsfoiți Sursa

Merge branch 'dev' into release
commit by wangliang

wangliang 4 ani în urmă
părinte
comite
c2b6c4dc5c

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

@@ -282,4 +282,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);
     }
 }