Files

96 lines
4.0 KiB
XML
Raw Permalink Normal View History

2025-10-20 15:08:37 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.exam.exam.mapper.EducationPaperMapper">
<resultMap type="EducationPaper" id="EducationPaperResult">
<result property="paperId" column="paper_id" />
<result property="taskId" column="task_id" />
<result property="num" column="num" />
<result property="counts" column="counts" />
<result property="paperScore" column="paper_score" />
<result property="rollUp" column="roll_up" />
<result property="isAb" column="is_ab" />
<result property="status" column="status" />
</resultMap>
<resultMap type="EducationPaper" id="PaperIdAndNumResult">
<result property="paperId" column="paper_id" />
<result property="num" column="num" />
</resultMap>
<resultMap type="ExamQuestion" id="ExamQuestionResult">
<result property="quId" column="qu_id" />
<result property="quBankId" column="qu_bank_id" />
<result property="quNum" column="qu_num" />
<result property="quBankName" column="qu_bank_name" />
<result property="chapteridDictText" column="chapterId_dict_text" />
<result property="subjectName" column="subject_name" />
<result property="quLevel" column="qu_level" />
<result property="content" column="content" />
<result property="contentText" column="content_text" />
<result property="answer" column="answer" />
<result property="analysis" column="analysis" />
<result property="pointNames" column="point_names" />
<result property="keywords" column="keywords" />
<result property="manual" column="manual" />
<result property="status" column="status" />
<result property="audit" column="audit" />
<result property="tname" column="tname" />
<result property="courseName" column="course_name" />
<result property="specialtyName" column="specialty_name" />
<!-- 嵌套答案列表 -->
<collection property="answerList" ofType="com.example.exam.exam.dal.ExamQuestionAnswer">
<id property="answerId" column="answer_id"/>
<result property="quId" column="a_qu_id"/>
<result property="isRight" column="is_right"/>
<result property="image" column="image"/>
<result property="content" column="a_content"/>
<result property="contentIn" column="a_content_in"/>
<result property="scoreRate" column="score_rate"/>
<result property="sort" column="sort"/>
</collection>
</resultMap>
<sql id="selectEducationPaperVo">
select paper_id, task_id, num,counts, paper_score,roll_up, is_ab, status ,create_time,update_time,creator,updater ,deleted from education_paper
</sql>
<select id="selectPaperQuByPaperId" resultMap="ExamQuestionResult">
SELECT
q.*,
a.answer_id,
a.qu_id AS a_qu_id,
a.is_right,
a.image,
a.content AS a_content,
a.contentIn AS a_content_in,
a.score_rate,
a.sort AS a_sort,
epq.sort AS question_sort
FROM (
SELECT *
FROM education_paper_qu
WHERE paper_id = #{paperId}
ORDER BY sort ASC
) epq
JOIN exam_question q ON epq.qu_id = q.qu_id
LEFT JOIN exam_question_answer a ON q.qu_id = a.qu_id
ORDER BY
epq.sort ASC, -- 保证题目顺序
CASE WHEN a.sort IS NOT NULL THEN 0 ELSE 1 END,
a.sort ASC; -- 保证答案顺序
</select>
</mapper>