智慧保安后台管理-外网项目备份
钟日健
2022-02-25 afc2b4d2800d91c793523d14fbe2d6fbbd319fc0
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -534,22 +534,48 @@
        ) aa,(select @i:=0) bb
    </select>
    <select id="queryRandomSubjectList" resultType="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
    <!--ExamSubjectChoicesInfoMap 多表联查 一对多查询 -->
    <resultMap id="ExamSubjectChoicesInfoMap" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
        <id property="id" column="id"/>
        <id property="categoryId" column="category_id"/>
        <id property="subjectName" column="subject_name"/>
        <id property="choicesType" column="choices_type"/>
        <id property="answer" column="answer"/>
        <id property="score" column="score"/>
        <id property="level" column="level"/>
        <result column="id" property="id"/>
        <collection property="examSubjectOptions" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamSubjectOption" autoMapping="true">
            <id property="id" column="eso_id"/>
        </collection>
    </resultMap>
    <select id="queryRandomSubjectList" resultMap="ExamSubjectChoicesInfoMap">
        select
        id,
        category_id categoryId,
        subject_name subjectName,
        choices_type choicesType,
        score,
        analysis,
        tktype
        esc.id,esc.category_id,esc.subject_name,esc.choices_type,esc.score,esc.answer,
        eso.id eso_id,eso.subject_choices_id,eso.option_name,eso.option_content,eso.creator,
        eso.create_date,eso.modifier,eso.modify_date,eso.del_flag,eso.application_code,eso.tenant_code
        from (
            select
            id,
            category_id,
            subject_name,
            choices_type,
            score,
            answer,
            analysis,
            tktype
            from (
            select * from exam_subject_choices
            where id in
            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        ) a ORDER BY RAND() LIMIT #{number}
            ) a ORDER BY RAND() LIMIT #{number}
        ) esc
        left join
        exam_subject_option eso
        on
        esc.id = eso.subject_choices_id
    </select>