From abd1516fa39da87f70d4f69dc4ec35f8f81946f1 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 28 六月 2024 11:16:43 +0800
Subject: [PATCH] 填空题抹除答案
---
src/main/resources/mapper/QuestionMapper.xml | 84 +++++++++++++++++++++++++++++++----------
1 files changed, 63 insertions(+), 21 deletions(-)
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index db3a5fa..02a1ed2 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,45 @@
</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>
</where>
</select>
@@ -75,4 +87,34 @@
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="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>
+
+ <select id="getRandomQuestion" resultMap="BaseResultMap">
+ SELECT
+ *
+ FROM
+ t_question tq
+ WHERE
+ tq.subject_id = #{subjectId} AND tq.question_type = #{questionType} AND tq.deleted = 0
+ ORDER BY
+ RAND()
+ LIMIT #{num}
+ </select>
</mapper>
--
Gitblit v1.8.0