xiangpei
2024-05-15 fe29db7a08e9da70ca3c78db27a11e48fa5f6f43
src/main/resources/mapper/QuestionSubjectMapper.xml
@@ -48,4 +48,68 @@
        where subject_id = #{subjectId}
    </delete>
</mapper>
    <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 id)
        FROM
             t_question_subject
        WHERE
              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 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>