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 | 63 +++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 12 deletions(-) diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml index 0764bb9..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,17 +289,51 @@ <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 a.id, + a.question_type, + JSON_VALUE(d.content, '$.titleContent') as shortTitle, + GROUP_CONCAT(c.name) as subjectName + from t_question a + inner join t_question_subject b on a.id = b.question_id and b.deleted = 0 + 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, + 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="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