xiangpei
2024-07-12 5208d39b2adecd65a56a7d55b8cfd7ef076eb9dc
src/main/resources/mapper/QuestionMapper.xml
@@ -92,18 +92,15 @@
        <foreach collection="questionIds" open="(" item="id" close=")" separator=",">#{id}</foreach>
    </select>
    <select id="selectBySubject" resultType="com.ycl.jxkg.domain.question.RandomQuestionDTO">
        SELECT
            id as questionId,question_type
        FROM
            t_question
        WHERE
            subject_id = #{subjectId}
            and question_type in
            <foreach collection="types" item="type" separator="," open="(" close=")">
                #{type}
            </foreach>
            and deleted = 0 and status = 1
    <select id="selectByDifAndSub" resultType="java.lang.Integer">
            SELECT COUNT(*) FROM t_question
            <where>
                deleted = 0 and status = 1
                <if test="subjectId!=null">and subject_id = #{subjectId}</if>
                <if test="difficult!=null">AND difficult = #{difficult}</if>
                <if test="questionType!=null">AND question_type = #{questionType}</if>
            </where>
    </select>
    <select id="getRandomQuestion" resultMap="BaseResultMap">
@@ -111,10 +108,33 @@
               *
        FROM
             t_question tq
        WHERE
              tq.subject_id = #{subjectId} AND tq.question_type = #{questionType} AND tq.deleted = 0
        <where>
            tq.deleted = 0 and tq.status = 1
            <if test="subjectId!=null">and tq.subject_id = #{subjectId}</if>
            <if test="difficult!=null">AND tq.difficult = #{difficult}</if>
            <if test="questionType!=null">AND tq.question_type = #{questionType}</if>
        </where>
        ORDER BY
                 RAND()
        RAND()
        LIMIT #{num}
    </select>
    <resultMap id="exportDataMap"  type="com.ycl.jxkg.domain.vo.admin.exam.QuestionExportData">
        <result column="question_type" property="questionType"/>
        <result column="title" property="title"/>
        <result column="analyze" property="analyze"/>
        <result column="content" property="content"/>
        <result column="correct" property="answer"/>
        <collection property="subjectList" column="id" ofType="string" select="selectSubjects"/>
    </resultMap>
    <select id="export" resultType="com.ycl.jxkg.domain.vo.admin.exam.ExamPaperImportVO">
        SELECT
            q.*,
            s.NAME AS SUBJECT
        FROM t_question q
        LEFT JOIN t_subject s ON subject_id = s.id
        ORDER BY q.id
    </select>
</mapper>