From f0cbe681cb28df22952fb8a6420424a7385ac9db Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 10 五月 2024 09:30:25 +0800
Subject: [PATCH] 练习删除

---
 src/main/resources/mapper/QuestionMapper.xml |   67 +++++++++++++++++++++++++++++----
 1 files changed, 59 insertions(+), 8 deletions(-)

diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index cd42200..fe253d0 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -180,26 +180,36 @@
 
   <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM">
     SELECT
-    <include refid="Base_Column_List"/>
-    FROM t_question
+    q.*
+    FROM t_question q
+    LEFT JOIN t_question_subject qs on q.id = qs.question_id
+    LEFT JOIN t_text_content t on q.info_text_content_id = t.id
     <where>
-        and deleted=0
+        and q.deleted=0 and qs.deleted = 0
       <if test="id != null ">
-        and id= #{id}
+        and q.id= #{id}
       </if>
       <if test="level != null ">
-        and grade_level= #{level}
+        and q.grade_level= #{level}
       </if>
       <if test="subjectId != null ">
-        and subject_id= #{subjectId}
+        and qs.subject_id in
+        <foreach item="subjectId" collection="subjectId" open="(" separator=","
+                 close=")">
+          #{subjectId}
+        </foreach>
       </if>
       <if test="questionType != null ">
-        and question_type= #{questionType}
+        and q.question_type= #{questionType}
+      </if>
+      <if test="questionName != null and questionName != ''">
+        and t.content->'$."titleContent"' LIKE concat('%',#{questionName},'%')
       </if>
       <if test="content != null">
-        and info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') )
+        and q.info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') )
       </if>
     </where>
+    group by q.id
   </select>
 
 
@@ -228,4 +238,45 @@
 		GROUP BY create_time
 	</select>
 
+  <select id="getAll"  resultMap="BaseResultMap">
+    SELECT <include refid="Base_Column_List"/>
+        from t_question where  deleted=0
+  </select>
+
+  <select id="export" resultMap="exportMap">
+    SELECT
+           q.*, ttc.content
+    FROM
+         t_question q
+             INNER JOIN t_text_content ttc on q.info_text_content_id = ttc.id AND q.deleted = 0
+    <where>
+      <if test="query.questionType != null">
+        q.question_type = #{query.questionType}
+      </if>
+      <if test="query.start != null and query.end != null">
+        q.create_time between #{query.start} and #{query.end}
+      </if>
+    </where>
+  </select>
+
+  <resultMap id="exportMap" type="com.mindskip.xzs.vo.QuestionImportVO">
+    <result column="question_type" property="questionType" />
+    <result column="title" property="title" />
+    <result column="analyze" property="analyze" />
+    <result column="score" property="score" />
+    <result column="difficult" property="difficult" />
+    <result column="content" property="questionContent" />
+    <result column="score" property="score" />
+    <result column="correct" property="correct" />
+    <collection property="subjectList" column="id" ofType="string" select="selectSubjects"/>
+  </resultMap>
+
+  <select id="selectSubjects" resultType="string">
+    SELECT
+           ts.name
+    FROM
+        t_question_subject tqs
+             INNER JOIN t_subject ts ON tqs.subject_id = ts.id AND tqs.question_id = #{id} AND tqs.deleted = 0 AND ts.deleted = 0
+  </select>
+
 </mapper>

--
Gitblit v1.8.0