From de264f806f99c80f2413dbf959296146eb55888f Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 11 七月 2024 16:52:28 +0800
Subject: [PATCH] 监控展示还没开始做题的学生

---
 src/main/resources/mapper/ExamSubmitTempMapper.xml                        |   55 ++++++++++++++++++++-------
 src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java |    1 
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java              |    8 ++-
 src/main/resources/application-prod.yml                                   |    2 
 4 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
index c2c484b..5e0059d 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
@@ -109,6 +109,7 @@
         page.getList().stream().forEach(item -> {
             item.setContentUrl(JSON.parseObject(item.getContentUrlString(), EducationResourceVO.UploadFile.class));
             item.setAttachment(JSON.parseArray(item.getAttachmentString(), EducationResourceVO.UploadFile.class));
+            item.setVisitUrl(url + "/api/files/" + item.getContentUrl().getUrl());
         });
         return Result.ok(page.getList()).put("total", page.getTotal());
     }
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 b7b26f0..c402ca5 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -915,7 +915,9 @@
     @Override
     public Result monitorList(ExamQuery query) {
         IPage<ExamSubmitTempVO> page = PageUtil.getPage(query, ExamSubmitTempVO.class);
-        return Result.ok((examSubmitTempMapper.monitorList(page, query)));
+        IPage<ExamSubmitTempVO> vo = examSubmitTempMapper.monitorList(page, query);
+
+        return Result.ok(vo);
     }
 
     @Override
@@ -929,7 +931,7 @@
         form.setAddTimeM(sed);
         websocket.setData(form);
         // 鍙戦�亀ebsocket娑堟伅
-        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
+        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket));
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 
@@ -942,7 +944,7 @@
         websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommand());
         websocket.setData(form);
         // 鍙戦�亀ebsocket娑堟伅
-        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
+        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket));
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 }
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 2869bad..dbd9c0d 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -7,7 +7,7 @@
 
 spring:
   config:
-    url: https://42.193.1.25:8000
+    url: http://42.193.1.25:8000
   datasource:
     url: jdbc:mysql://42.193.1.25:3306/xzs?useSSL=true&useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true
     username: root
diff --git a/src/main/resources/mapper/ExamSubmitTempMapper.xml b/src/main/resources/mapper/ExamSubmitTempMapper.xml
index 0f4a357..a8b7113 100644
--- a/src/main/resources/mapper/ExamSubmitTempMapper.xml
+++ b/src/main/resources/mapper/ExamSubmitTempMapper.xml
@@ -42,29 +42,54 @@
             TEST.deleted = 0
     </select>
 
+<!--    <select id="monitorList" resultType="com.ycl.jxkg.domain.vo.ExamSubmitTempVO">-->
+<!--        SELECT-->
+<!--            TEST.exam_id,-->
+<!--            TEST.user_id,-->
+<!--            TEST.do_time,-->
+<!--            TEST.exam_submit,-->
+<!--            TEST.create_time,-->
+<!--            TEST.status,-->
+<!--            TEST.id,-->
+<!--            TE.exam_name,-->
+<!--            TU.real_name as userName-->
+<!--        FROM-->
+<!--            t_exam_submit_temp TEST-->
+<!--        INNER JOIN t_user TU ON TU.id = TEST.user_id AND TU.deleted = 0-->
+<!--        INNER JOIN t_exam TE ON TE.id = TEST.exam_id AND TE.deleted = 0-->
+<!--        WHERE-->
+<!--            TEST.deleted = 0-->
+<!--        <if test="query.examId != null">-->
+<!--            AND TEST.exam_id = #{query.examId}-->
+<!--        </if>-->
+<!--        <if test="query.keyword != null and query.keyword != ''">-->
+<!--            AND (INSTR(TU.real_name, #{query.keyword}) OR INSTR(TE.exam_name, #{query.keyword}))-->
+<!--        </if>-->
+<!--    </select>-->
+
     <select id="monitorList" resultType="com.ycl.jxkg.domain.vo.ExamSubmitTempVO">
         SELECT
-            TEST.exam_id,
-            TEST.user_id,
-            TEST.do_time,
-            TEST.exam_submit,
-            TEST.create_time,
-            TEST.status,
-            TEST.id,
-            TE.exam_name,
-            TU.real_name as userName
+        te.id as examId,
+        TU.id as userId,
+        TEST.do_time,
+        TEST.exam_submit,
+        TEST.create_time,
+        TEST.status,
+        TEST.id,
+        TE.exam_name,
+        TU.real_name as userName
         FROM
-            t_exam_submit_temp TEST
-        INNER JOIN t_user TU ON TU.id = TEST.user_id AND TU.deleted = 0
-        INNER JOIN t_exam TE ON TE.id = TEST.exam_id AND TE.deleted = 0
+        t_exam TE
+        LEFT JOIN t_classes_user TCU ON TE.classes_id = TCU.classes_id AND TCU.deleted = 0
+        INNER JOIN t_user TU ON TU.id = TCU.user_id AND TU.deleted = 0
+        LEFT JOIN t_exam_submit_temp TEST ON TE.id = TEST.exam_id AND TCU.user_id = TEST.user_id AND (TEST.deleted = 0 or TEST.deleted is null)
         WHERE
-            TEST.deleted = 0
+        TE.deleted = 0
         <if test="query.examId != null">
-            AND TEST.exam_id = #{query.examId}
+            AND TE.id = #{query.examId}
         </if>
         <if test="query.keyword != null and query.keyword != ''">
             AND (INSTR(TU.real_name, #{query.keyword}) OR INSTR(TE.exam_name, #{query.keyword}))
         </if>
     </select>
-
 </mapper>

--
Gitblit v1.8.0