From 25fb8f6f2580a618ea84bcb30ae108ab2fa3c205 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 25 六月 2024 16:51:01 +0800
Subject: [PATCH] 考试查询增加状态,开始考试校验考试状态

---
 src/main/java/com/ycl/jxkg/domain/query/ExamQuery.java       |    3 +++
 src/main/resources/mapper/ExamMapper.xml                     |    9 ++++++---
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java |    6 ++++++
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/domain/query/ExamQuery.java b/src/main/java/com/ycl/jxkg/domain/query/ExamQuery.java
index 1213f10..0a39117 100644
--- a/src/main/java/com/ycl/jxkg/domain/query/ExamQuery.java
+++ b/src/main/java/com/ycl/jxkg/domain/query/ExamQuery.java
@@ -25,5 +25,8 @@
     /** 鐝骇 */
     private Integer classesId;
 
+    /** 鐘舵�� */
+    private String status;
+
 }
 
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 cacec85..fe41ab9 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -146,6 +146,12 @@
         if (Objects.isNull(exam.getExamPaperId())) {
             throw new RuntimeException("鑰冭瘯鏈粦瀹氳瘯鍗�");
         }
+        if (ExamStatusEnum.NOT_START.equals(exam.getStatus())) {
+            throw new RuntimeException("鑰冭瘯杩樻湭寮�濮�");
+        }
+        if (ExamStatusEnum.FINISHED.equals(exam.getStatus())) {
+            throw new RuntimeException("鑰冭瘯宸茬粡缁撴潫");
+        }
         // 鏌ュ嚭鑰冭瘯璇曞嵎
         ExamPaper examPaper = examPaperMapper.selectById(exam.getExamPaperId());
         if (Objects.isNull(examPaper)) {
diff --git a/src/main/resources/mapper/ExamMapper.xml b/src/main/resources/mapper/ExamMapper.xml
index a644554..fb7d106 100644
--- a/src/main/resources/mapper/ExamMapper.xml
+++ b/src/main/resources/mapper/ExamMapper.xml
@@ -85,7 +85,7 @@
             TE.exam_paper_type,
             TE.exam_place,
             TE.status,
-            IF(TE.status != 'not_start', IF(TE.status == 'ing', 1, 2), 0) as orderc,
+            IF(TE.status != 'not_start', IF(TE.status = 'ing', 2, 1), 0) as orderc,
             TE.start_time,
             TE.end_time,
             TE.create_time,
@@ -95,7 +95,7 @@
             TEP.name
         FROM
             t_exam TE
-        INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0
+        INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 AND TC.status = 'normal'
         INNER JOIN t_classes_user TCU ON TC.id = TCU.classes_id AND TC.deleted = 0 AND TCU.user_id = #{userId}
         INNER JOIN t_exam_paper TEP ON TEP.id = TE.exam_paper_id AND TEP.deleted = 0
         WHERE
@@ -103,7 +103,10 @@
             <if test="query.examName != null and query.examName != ''">
                 AND TE.exam_name like concat('%', #{query.examName}, '%')
             </if>
-        ORDER BY orderc DESC
+            <if test="query.status != null and query.status != ''">
+                AND TE.status = #{query.status}
+            </if>
+        ORDER BY orderc, TE.create_time DESC
     </select>
 
 </mapper>

--
Gitblit v1.8.0