From f8f0ed20e05d521005ddcef2611ca303ae7e7a0c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 17 五月 2024 16:26:33 +0800 Subject: [PATCH] 练习bug修改 --- src/main/resources/mapper/QuestionSubjectMapper.xml | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/src/main/resources/mapper/QuestionSubjectMapper.xml b/src/main/resources/mapper/QuestionSubjectMapper.xml index a647448..69f5979 100644 --- a/src/main/resources/mapper/QuestionSubjectMapper.xml +++ b/src/main/resources/mapper/QuestionSubjectMapper.xml @@ -43,4 +43,79 @@ </foreach> </insert> -</mapper> \ No newline at end of file + <delete id="removeSubjectId" parameterType="java.lang.Integer"> + delete from t_question_subject + where subject_id = #{subjectId} + </delete> + + <select id="getSubject" resultMap="BaseResultMap"> + select qs.*,s.name as subName + from t_question_subject qs + left join t_subject s on qs.subject_id = s.id + where subject_id = #{id} and qs.deleted = 0 and s.deleted = 0 + </select> + + <select id="countQuestionNum" resultType="integer"> + SELECT + count(distinct tqs.question_id) + FROM + t_question_subject tqs + INNER JOIN t_question tq ON tq.id = tqs.question_id <if test="questionType != -99">AND tq.question_type = #{questionType}</if> + WHERE + tqs.subject_id IN <foreach collection="subjects" open="(" separator="," close=")" item="subjectId">#{subjectId}</foreach> + + </select> + + <select id="getRandomQuestionId" resultType="com.mindskip.xzs.domain.vo.QuestionVO"> + SELECT + distinct + tq.id, + tq.question_type as questionType, + tq.difficult, + ttc.content as contentJson, + tq.correct + FROM + t_question_subject tqs + INNER JOIN t_question tq ON tqs.question_id = tq.id AND tq.deleted = 0 + <if test="questionType != null and questionType != -99"> + AND tq.question_type = #{questionType} + </if> + AND tqs.subject_id IN <foreach collection="subjectIds" open="(" separator="," close=")" item="subjectId">#{subjectId}</foreach> + INNER JOIN t_text_content ttc ON tq.info_text_content_id = ttc.id + ORDER BY + RAND() LIMIT #{questionNum} + </select> + + <select id="questionsBySubjectIds" resultType="integer"> + SELECT + question_id + FROM + t_question_subject + <where> + subject_id IN <foreach collection="subjectIds" open="(" separator="," close=")" item="subjectId">#{subjectId}</foreach> + </where> + ORDER BY + id DESC + </select> + + <select id="questionsBySubjectId" resultType="integer"> + SELECT + tqs.question_id + FROM + t_question_subject tqs + INNER JOIN t_question tq ON tqs.question_id = tq.id AND tqs.subject_id = #{subjectId} + ORDER BY + tqs.id DESC + </select> + + <select id="questionsBySubjectIdAndQuestionType" resultType="integer"> + SELECT + tqs.question_id + FROM + t_question_subject tqs + INNER JOIN t_question tq ON tqs.question_id = tq.id AND tqs.subject_id = #{subjectId} AND tq.question_type = #{questionType} + ORDER BY + tqs.id DESC + </select> + +</mapper> -- Gitblit v1.8.0