From 1c89a9d39893c18aac63aa5763b4787b65de3624 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 30 五月 2024 11:28:37 +0800 Subject: [PATCH] fix:在线练习排序 --- src/main/resources/mapper/QuestionMapper.xml | 59 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml index 7cdd3b5..6fe00b0 100644 --- a/src/main/resources/mapper/QuestionMapper.xml +++ b/src/main/resources/mapper/QuestionMapper.xml @@ -186,13 +186,16 @@ LEFT JOIN t_text_content t on q.info_text_content_id = t.id <where> and q.deleted=0 and qs.deleted = 0 + <if test="titleContent != null and titleContent != ''"> + and JSON_VALUE(t.content, '$.titleContent') like concat('%', #{titleContent}, '%') + </if> <if test="id != null "> and q.id= #{id} </if> <if test="level != null "> and q.grade_level= #{level} </if> - <if test="subjectId != null "> + <if test="subjectId != null and subjectId.length > 0"> and qs.subject_id in <foreach item="subjectId" collection="subjectId" open="(" separator="," close=")"> @@ -249,16 +252,18 @@ <select id="export" resultMap="exportMap"> SELECT + DISTINCT q.*, ttc.content FROM t_question q INNER JOIN t_text_content ttc on q.info_text_content_id = ttc.id AND q.deleted = 0 + INNER JOIN t_question_subject tqs on q.id = tqs.question_id <where> - <if test="query.questionType != null"> - q.question_type = #{query.questionType} - </if> - <if test="query.start != null and query.end != null"> - q.create_time between #{query.start} and #{query.end} + <if test="query.subjectIds != null and query.subjectIds.size > 0"> + AND tqs.subject_id IN + <foreach collection="query.subjectIds" open="(" separator="," close=")" item="subjectId"> + #{subjectId} + </foreach> </if> </where> </select> @@ -284,20 +289,21 @@ <select id="getVoByIds" resultType="com.mindskip.xzs.domain.vo.QuestionVO"> SELECT - tq.id, - tq.question_type as questionType, - tq.difficult, - ttc.content as contentJson + tq.id, + tq.question_type as questionType, + tq.difficult, + ttc.content as contentJson FROM - t_question tq - INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.deleted = 0 AND tq.id IN + t_question tq + INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.deleted = 0 AND tq.id IN <foreach collection="ids" open="(" separator="," close=")" item="id"> #{id} </foreach> </select> - <select id="selectQuestion" resultType="com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentResponseVM"> + <select id="selectQuestion" + resultType="com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentResponseVM"> select a.id, a.question_type, JSON_VALUE(d.content, '$.titleContent') as shortTitle, @@ -307,28 +313,27 @@ inner join t_subject c on b.subject_id = c.id and c.deleted = 0 inner join t_text_content d on a.info_text_content_id = d.id where a.deleted = 0 + AND JSON_VALUE(d.content, '$.titleContent') like concat('%', #{shortTitle}, '%') group by a.id, question_type, a.create_time HAVING GROUP_CONCAT(c.name) like concat('%', #{subjectName}, '%') order by a.create_time </select> <select id="selectContentById" resultType="com.mindskip.xzs.domain.vo.QuestionVO"> - SELECT - tq.id, - tq.question_type as questionType, - tq.difficult, - ttc.content as contentJson - FROM - t_question tq - INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.id = #{id} + SELECT tq.id, + tq.question_type as questionType, + tq.difficult, + ttc.content as contentJson, + tq.correct + FROM t_question tq + INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.id = #{id} </select> - <select id="getAnswer" resultType="string"> - SELECT - ttc.content - FROM - t_question tq - INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.id = #{id} AND tq.deleted = 0 + <select id="getAnswer" resultType="com.mindskip.xzs.domain.vo.QuestionVO"> + SELECT tq.correct, + ttc.content as contentJson + FROM t_question tq + INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id AND tq.id = #{id} AND tq.deleted = 0 </select> </mapper> -- Gitblit v1.8.0