From 4caba6f32b75523bde4bf2f988946153d5c47944 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 26 六月 2024 17:51:12 +0800
Subject: [PATCH] 开始考试返回考试信息

---
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 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 33c5843..34768a8 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -12,14 +12,18 @@
 import com.ycl.jxkg.domain.entity.Question;
 import com.ycl.jxkg.domain.exam.PaperFixQuestionDTO;
 import com.ycl.jxkg.domain.exam.PaperQuestionSettingDTO;
+import com.ycl.jxkg.domain.form.AddTimeForm;
 import com.ycl.jxkg.domain.form.ExamForm;
+import com.ycl.jxkg.domain.form.ForceSubmitForm;
 import com.ycl.jxkg.domain.query.ExamQuery;
 import com.ycl.jxkg.domain.question.QuestionObject;
 import com.ycl.jxkg.domain.vo.*;
 import com.ycl.jxkg.enums.ExamPaperTypeEnum;
+import com.ycl.jxkg.enums.WebsocketCommendEnum;
 import com.ycl.jxkg.enums.general.ExamStatusEnum;
 import com.ycl.jxkg.enums.general.ExamSubmitTempStatusEnum;
 import com.ycl.jxkg.mapper.*;
+import com.ycl.jxkg.server.WebsocketServer;
 import com.ycl.jxkg.service.ExamPaperService;
 import com.ycl.jxkg.service.ExamService;
 import com.ycl.jxkg.utils.PageUtil;
@@ -50,6 +54,7 @@
     private final ClassesUserMapper classesUserMapper;
     private final ExamPaperMapper examPaperMapper;
     private final ExamPaperService examPaperService;
+    private final WebsocketServer websocketServer;
 
     /**
      * 娣诲姞
@@ -212,7 +217,12 @@
             examSubmitTemp.setUserId(webContext.getCurrentUser().getId());
             examSubmitTemp.setMarkPaperStatus(ExamSubmitTempStatusEnum.TEMP);
             examSubmitTempMapper.insert(examSubmitTemp);
-            return Result.ok(examData);
+            StartExamVO startExamVO = new StartExamVO();
+            startExamVO.setExamName(exam.getExamName());
+            startExamVO.setId(exam.getId());
+            startExamVO.setTitleList(examData);
+            startExamVO.setSuggestTime(examPaper.getSuggestTime());
+            return Result.ok(startExamVO);
         }
         return Result.ok();
     }
@@ -433,4 +443,24 @@
         IPage<ExamSubmitTempVO> page = PageUtil.getPage(query, ExamSubmitTempVO.class);
         return Result.ok().data(examSubmitTempMapper.monitorList(page, query));
     }
+
+    @Override
+    public Result addTime(AddTimeForm form) {
+        WebsocketDataVO websocket = new WebsocketDataVO();
+        websocket.setCommend(WebsocketCommendEnum.DELAYED.getCommend());
+        websocket.setData(form);
+        // 鍙戦�亀ebsocket娑堟伅
+        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
+        return Result.ok("鎿嶄綔鎴愬姛");
+    }
+
+    @Override
+    public Result forceSubmit(ForceSubmitForm form) {
+        WebsocketDataVO websocket = new WebsocketDataVO();
+        websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommend());
+        websocket.setData(form);
+        // 鍙戦�亀ebsocket娑堟伅
+        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
+        return Result.ok("鎿嶄綔鎴愬姛");
+    }
 }

--
Gitblit v1.8.0