From 77be36cc9077b09186e69440f3204f9e623c335a Mon Sep 17 00:00:00 2001 From: qirong <2032486488@qq.com> Date: 星期一, 26 六月 2023 15:52:24 +0800 Subject: [PATCH] 试卷题目顺序打乱 --- src/main/resources/mapper/ExamPaperMapper.xml | 73 ++++++++++++++++++++++++++---------- 1 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index c835797..e99791d 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -271,36 +271,59 @@ <select id="studentPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM"> SELECT - <include refid="Base_Column_List"/> - FROM t_exam_paper + e.* + FROM t_exam_paper e + LEFT JOIN t_exam_paper_subject s on e.id = s.exam_paper_id <where> - and deleted=0 + and e.deleted=0 and s.deleted = 0 <if test="subjectId != null "> - and subject_id=#{subjectId} + and s.subject_id=#{subjectId} </if> <if test="levelId != null "> - and grade_level=#{levelId} + and e.grade_level=#{levelId} </if> - and paper_type=#{paperType} + <if test="paperType == 1"> + and e.paper_type in (1,7) + </if> + <if test="paperType == 4"> + and e.paper_type = #{paperType} + </if> + </where> + group by e.id </select> <select id="indexPaper" resultMap="PaperInfoResultMap" parameterType="com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter"> - SELECT e.id,e.name,e.limit_start_time,e.limit_end_time - FROM t_exam_paper e - LEFT JOIN t_exam_paper_department d on d.exam_paper_id = e.id - <where> - and e.deleted=0 and d.deleted = 0 - and e.paper_type= #{examPaperType} - and d.department_id=#{gradeLevel} - <if test="examPaperType == 3 "> - </if> - <if test="examPaperType == 4 "> - and #{dateTime} between e.limit_start_time and e.limit_end_time - </if> - </where> - ORDER BY e.id desc limit 5 + select * from( + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + FROM t_exam_paper e + LEFT JOIN t_exam_paper_department d on d.exam_paper_id = e.id + <where> + and e.deleted=0 and d.deleted = 0 + and e.paper_type in + <foreach item="examPaperType" collection="examPaperType" open="(" separator="," + close=")"> + #{examPaperType} + </foreach> + <if test="gradeLevel != '' and gradeLevel != null"> + and d.department_id=#{gradeLevel} + </if> + <if test="examPaperType == 3 "> + </if> + <if test="examPaperType == 4 "> + and #{dateTime} between e.limit_start_time and e.limit_end_time + </if> + </where> + ORDER BY e.id desc ) t + union all + select * from ( + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + FROM t_exam_paper e + LEFT JOIN t_exam_paper_user u on u.exam_paper_id = e.id + where + e.deleted=0 and u.deleted = 0 + and u.user_id = #{userId} ORDER BY e.id desc ) t </select> @@ -344,4 +367,14 @@ </foreach> </delete> + <select id="gets" resultMap="BaseResultMap"> + select * from t_exam_paper + where id in + <foreach item="id" collection="ids" open="(" separator="," + close=")"> + #{id} + </foreach> + and deleted = 0 + </select> + </mapper> -- Gitblit v1.8.0