From cd59ededbf05a0ae73b8f4944fbf40a1fb01d28a Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期一, 11 十一月 2024 18:03:43 +0800 Subject: [PATCH] 错题详情 --- src/main/resources/mapper/QuestionMapper.xml | 107 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 86 insertions(+), 21 deletions(-) diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml index db3a5fa..69b64af 100644 --- a/src/main/resources/mapper/QuestionMapper.xml +++ b/src/main/resources/mapper/QuestionMapper.xml @@ -1,15 +1,14 @@ <?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.ycl.jxkg.mapper.QuestionMapper"> + <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.Question"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="question_type" jdbcType="INTEGER" property="questionType"/> <result column="subject_id" jdbcType="INTEGER" property="subjectId"/> - <result column="score" jdbcType="INTEGER" property="score"/> - <result column="grade_level" jdbcType="INTEGER" property="gradeLevel"/> <result column="difficult" jdbcType="INTEGER" property="difficult"/> <result column="correct" jdbcType="VARCHAR" property="correct"/> - <result column="info_text_content_id" jdbcType="INTEGER" property="infoTextContentId"/> + <result column="content" jdbcType="VARCHAR" property="content"/> <result column="create_user" jdbcType="INTEGER" property="createUser"/> <result column="status" jdbcType="INTEGER" property="status"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> @@ -17,32 +16,48 @@ </resultMap> <sql id="Base_Column_List"> id - , question_type, subject_id, score, grade_level, difficult, correct, info_text_content_id, - create_user, status, create_time, deleted + , question_type, subject_id, difficult, correct, content, create_user, status, create_time, deleted </sql> - - <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.vo.admin.question.QuestionPageRequestVO"> + <select id="page" resultType="com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO" + parameterType="com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO"> SELECT - <include refid="Base_Column_List"/> - FROM t_question + tq.*, + CASE WHEN tq.question_type = 1 THEN '鍗曢�夐' + WHEN tq.question_type = 2 THEN '澶氶�夐' + WHEN tq.question_type = 3 THEN '鍒ゆ柇棰�' + WHEN tq.question_type = 4 THEN '濉┖棰�' + WHEN tq.question_type = 5 THEN '绠�绛旈' + WHEN tq.question_type = 6 THEN '璇煶棰�' + WHEN tq.question_type = 7 THEN '璁$畻棰�' + WHEN tq.question_type = 8 THEN '鍒嗘瀽棰�' + END AS questionTypeName, + ts.name AS subjectName, + tu.real_name AS createUserName + FROM t_question tq + LEFT JOIN t_subject ts ON tq.subject_id = ts.id + LEFT JOIN t_user tu ON tq.create_user = tu.id <where> - and deleted=0 - <if test="id != null "> - and id= #{id} + and tq.deleted = 0 + <if test="id != null"> + and tq.id = #{id} </if> - <if test="level != null "> - and grade_level= #{level} + <if test="status != null"> + and tq.status = #{status} </if> - <if test="subjectId != null "> - and subject_id= #{subjectId} + <if test="subjectId != null and subjectId.size() > 0"> + and tq.subject_id in + <foreach collection="subjectId" item="item" separator="," open="(" close=")">#{item}</foreach> </if> - <if test="questionType != null "> - and question_type= #{questionType} + <if test="questionType != null and questionType.size() > 0"> + and tq.question_type in + <foreach collection="questionType" item="item" separator="," open="(" close=")">#{item}</foreach> </if> - <if test="content != null"> - and info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') - ) + <if test="content != null and content != ''"> + and instr(tq.content, #{content}) + </if> + <if test="title != null and title != ''"> + and title like CONCAT('%', #{title}, '%') </if> </where> </select> @@ -75,4 +90,54 @@ GROUP BY create_time </select> + <select id="getAnswerInfo" resultType="com.ycl.jxkg.domain.entity.Question"> + SELECT id, question_type, correct FROM t_question WHERE id in + <foreach collection="questionIds" open="(" item="id" close=")" separator=",">#{id}</foreach> + </select> + + <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"> + SELECT + * + FROM + t_question tq + <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() + 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> -- Gitblit v1.8.0