From df4898d55d3aa97f2cf455b4c351c37f2b84e257 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 30 十月 2024 17:59:25 +0800
Subject: [PATCH] bug
---
src/main/resources/mapper/ExamMapper.xml | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/src/main/resources/mapper/ExamMapper.xml b/src/main/resources/mapper/ExamMapper.xml
index a644554..89a9bc4 100644
--- a/src/main/resources/mapper/ExamMapper.xml
+++ b/src/main/resources/mapper/ExamMapper.xml
@@ -16,13 +16,9 @@
<result column="teacher_id" property="teacherId" />
<result column="class_name" property="className" />
<result column="name" property="examPaperName" />
+ <result column="isContinue" property="isContinue" />
+ <result column="submitStatus" property="submitStatus" />
</resultMap>
-
-
-
-
-
-
<select id="getById" resultMap="BaseResultMap">
SELECT
@@ -85,25 +81,31 @@
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,
TE.teacher_id,
TE.id,
TC.class_name,
- TEP.name
+ TEP.name,
+ TEST.status as submitStatus,
+ (SELECT IF(COUNT(*) > 0, true, false) FROM t_exam_submit_temp WHERE user_id = #{userId} AND status = 'temp') as isContinue
FROM
t_exam TE
- INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0
- INNER JOIN t_classes_user TCU ON TC.id = TCU.classes_id AND TC.deleted = 0 AND TCU.user_id = #{userId}
+ 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 TCU.deleted = 0 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
+ LEFT JOIN t_exam_submit_temp TEST ON TEST.exam_id = TE.id
WHERE
- TE.deleted = 0
+ TE.deleted = 0 and (TEST.deleted =0 or TEST.deleted is null)
<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 FIELD(TE.status, 'ing', 'not_start', 'finished'), orderc, TE.create_time DESC
</select>
</mapper>
--
Gitblit v1.8.0