From 9e3d47a16aa7b4ed4edbcc1a09ac5949aa8f8ff6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 14 六月 2024 10:50:52 +0800
Subject: [PATCH] 定时保存临时试卷

---
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
index 2d6b213..921cff5 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -174,24 +174,45 @@
         });
         // 闃呭嵎鍚庢墠寰�exam_paper_answer淇濆瓨鑰冭瘯鎴愮哗銆佷互鍙婁繚瀛樺埌exam_paper_customer_answer
         // 鐜板湪鍙渶瑕佷繚瀛樺埌涓�寮犱复鏃惰〃
+        // 璇ユ帴鍙f槸涓诲姩鎻愪氦锛屾墍浠ョ姸鎬侀兘璁剧疆涓哄畬鎴愶紝浠ヤ究鍚庣画鑰佸笀闃呭嵎
+        saveTempExam(submitData, ExamSubmitTempStatusEnum.FINISH);
+        return Result.ok();
+    }
+
+    @Override
+    public Result timingSubmit(ExamSubmitVO submitData) {
+        saveTempExam(submitData, ExamSubmitTempStatusEnum.TEMP);
+        return Result.ok();
+    }
+
+    /**
+     * 淇濆瓨涓存椂璇曞嵎
+     *
+     * @param submitData  鍓嶇浼犻�掔殑璇曞嵎鏁版嵁
+     * @param status  璇曞嵎鐨勭姸鎬�
+     */
+    public void saveTempExam(ExamSubmitVO submitData, ExamSubmitTempStatusEnum status) {
         ExamSubmitTemp one = new LambdaQueryChainWrapper<>(examSubmitTempMapper)
                 .eq(ExamSubmitTemp::getExamId, submitData.getExamId())
                 .eq(ExamSubmitTemp::getUserId, webContext.getCurrentUser().getId())
                 .one();
         if (Objects.nonNull(one)) {
+            if (ExamSubmitTempStatusEnum.FINISH.equals(one.getStatus())) {
+                return;
+            }
             one.setDoTime(submitData.getDoTime());
             one.setExamSubmit(JSON.toJSONString(submitData.getQuestionList()));
             one.setCreateTime(new Date());
+            one.setStatus(status);
             examSubmitTempMapper.updateById(one);
         } else {
             ExamSubmitTemp examSubmitTemp = new ExamSubmitTemp();
             examSubmitTemp.setExamId(submitData.getExamId());
             examSubmitTemp.setDoTime(submitData.getDoTime());
-            examSubmitTemp.setStatus(ExamSubmitTempStatusEnum.FINISH);
+            examSubmitTemp.setStatus(status);
             examSubmitTemp.setUserId(webContext.getCurrentUser().getId());
             examSubmitTemp.setExamSubmit(JSON.toJSONString(submitData.getQuestionList()));
             examSubmitTempMapper.insert(examSubmitTemp);
         }
-        return Result.ok();
     }
 }

--
Gitblit v1.8.0