From b005f8a8669cdea0f1738172d7c13da57a1237e2 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 29 十月 2024 17:06:23 +0800
Subject: [PATCH] 增加了重置密码的功能
---
src/main/resources/mapper/QuestionMapper.xml | 343 +++++++++++++++++++++------------------------------------
1 files changed, 126 insertions(+), 217 deletions(-)
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index 3de994e..59076e6 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -1,231 +1,140 @@
<?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.repository.QuestionMapper">
- <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.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="create_user" jdbcType="INTEGER" property="createUser" />
- <result column="status" jdbcType="INTEGER" property="status" />
- <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
- <result column="deleted" jdbcType="BIT" property="deleted" />
- </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
- </sql>
- <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from t_question
- where id = #{id,jdbcType=INTEGER}
- </select>
- <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
- delete from t_question
- where id = #{id,jdbcType=INTEGER}
- </delete>
- <insert id="insert" parameterType="com.ycl.jxkg.domain.Question" useGeneratedKeys="true" keyProperty="id">
- insert into t_question (id, question_type, subject_id,
- score, grade_level, difficult,
- correct, info_text_content_id, create_user,
- status, create_time, deleted
- )
- values (#{id,jdbcType=INTEGER}, #{questionType,jdbcType=INTEGER}, #{subjectId,jdbcType=INTEGER},
- #{score,jdbcType=INTEGER}, #{gradeLevel,jdbcType=INTEGER}, #{difficult,jdbcType=INTEGER},
- #{correct,jdbcType=VARCHAR}, #{infoTextContentId,jdbcType=INTEGER}, #{createUser,jdbcType=INTEGER},
- #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=BIT}
- )
- </insert>
- <insert id="insertSelective" parameterType="com.ycl.jxkg.domain.Question" useGeneratedKeys="true" keyProperty="id">
- insert into t_question
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="id != null">
- id,
- </if>
- <if test="questionType != null">
- question_type,
- </if>
- <if test="subjectId != null">
- subject_id,
- </if>
- <if test="score != null">
- score,
- </if>
- <if test="gradeLevel != null">
- grade_level,
- </if>
- <if test="difficult != null">
- difficult,
- </if>
- <if test="correct != null">
- correct,
- </if>
- <if test="infoTextContentId != null">
- info_text_content_id,
- </if>
- <if test="createUser != null">
- create_user,
- </if>
- <if test="status != null">
- status,
- </if>
- <if test="createTime != null">
- create_time,
- </if>
- <if test="deleted != null">
- deleted,
- </if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="id != null">
- #{id,jdbcType=INTEGER},
- </if>
- <if test="questionType != null">
- #{questionType,jdbcType=INTEGER},
- </if>
- <if test="subjectId != null">
- #{subjectId,jdbcType=INTEGER},
- </if>
- <if test="score != null">
- #{score,jdbcType=INTEGER},
- </if>
- <if test="gradeLevel != null">
- #{gradeLevel,jdbcType=INTEGER},
- </if>
- <if test="difficult != null">
- #{difficult,jdbcType=INTEGER},
- </if>
- <if test="correct != null">
- #{correct,jdbcType=VARCHAR},
- </if>
- <if test="infoTextContentId != null">
- #{infoTextContentId,jdbcType=INTEGER},
- </if>
- <if test="createUser != null">
- #{createUser,jdbcType=INTEGER},
- </if>
- <if test="status != null">
- #{status,jdbcType=INTEGER},
- </if>
- <if test="createTime != null">
- #{createTime,jdbcType=TIMESTAMP},
- </if>
- <if test="deleted != null">
- #{deleted,jdbcType=BIT},
- </if>
- </trim>
- </insert>
- <update id="updateByPrimaryKeySelective" parameterType="com.ycl.jxkg.domain.Question">
- update t_question
- <set>
- <if test="questionType != null">
- question_type = #{questionType,jdbcType=INTEGER},
- </if>
- <if test="subjectId != null">
- subject_id = #{subjectId,jdbcType=INTEGER},
- </if>
- <if test="score != null">
- score = #{score,jdbcType=INTEGER},
- </if>
- <if test="gradeLevel != null">
- grade_level = #{gradeLevel,jdbcType=INTEGER},
- </if>
- <if test="difficult != null">
- difficult = #{difficult,jdbcType=INTEGER},
- </if>
- <if test="correct != null">
- correct = #{correct,jdbcType=VARCHAR},
- </if>
- <if test="infoTextContentId != null">
- info_text_content_id = #{infoTextContentId,jdbcType=INTEGER},
- </if>
- <if test="createUser != null">
- create_user = #{createUser,jdbcType=INTEGER},
- </if>
- <if test="status != null">
- status = #{status,jdbcType=INTEGER},
- </if>
- <if test="createTime != null">
- create_time = #{createTime,jdbcType=TIMESTAMP},
- </if>
- <if test="deleted != null">
- deleted = #{deleted,jdbcType=BIT},
- </if>
- </set>
- where id = #{id,jdbcType=INTEGER}
- </update>
- <update id="updateByPrimaryKey" parameterType="com.ycl.jxkg.domain.Question">
- update t_question
- set question_type = #{questionType,jdbcType=INTEGER},
- subject_id = #{subjectId,jdbcType=INTEGER},
- score = #{score,jdbcType=INTEGER},
- grade_level = #{gradeLevel,jdbcType=INTEGER},
- difficult = #{difficult,jdbcType=INTEGER},
- correct = #{correct,jdbcType=VARCHAR},
- info_text_content_id = #{infoTextContentId,jdbcType=INTEGER},
- create_user = #{createUser,jdbcType=INTEGER},
- status = #{status,jdbcType=INTEGER},
- create_time = #{createTime,jdbcType=TIMESTAMP},
- deleted = #{deleted,jdbcType=BIT}
- where id = #{id,jdbcType=INTEGER}
- </update>
+<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="difficult" jdbcType="INTEGER" property="difficult"/>
+ <result column="correct" jdbcType="VARCHAR" property="correct"/>
+ <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"/>
+ <result column="deleted" jdbcType="BIT" property="deleted"/>
+ </resultMap>
+ <sql id="Base_Column_List">
+ id
+ , question_type, subject_id, difficult, correct, content, create_user, status, create_time, deleted
+ </sql>
+
+ <select id="page" resultType="com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO"
+ parameterType="com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO">
+ SELECT
+ 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 tq.deleted = 0
+ <if test="id != null">
+ and tq.id = #{id}
+ </if>
+ <if test="status != null">
+ and tq.status = #{status}
+ </if>
+ <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 questionType.size() > 0">
+ and tq.question_type in
+ <foreach collection="questionType" item="item" separator="," open="(" close=")">#{item}</foreach>
+ </if>
+ <if test="content != null and content != ''">
+ and instr(tq.content, #{content})
+ </if>
+ </where>
+ </select>
+ <select id="selectByIds" resultMap="BaseResultMap">
+ SELECT
+ <include refid="Base_Column_List"/>
+ FROM t_question where id in
+ <foreach item="id" collection="ids" open="(" separator=","
+ close=")">
+ #{id}
+ </foreach>
+ </select>
- <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.viewmodel.admin.question.QuestionPageRequestVM">
- SELECT
- <include refid="Base_Column_List"/>
- FROM t_question
- <where>
- and deleted=0
- <if test="id != null ">
- and id= #{id}
- </if>
- <if test="level != null ">
- and grade_level= #{level}
- </if>
- <if test="subjectId != null ">
- and subject_id= #{subjectId}
- </if>
- <if test="questionType != null ">
- and question_type= #{questionType}
- </if>
- <if test="content != null">
- and info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') )
- </if>
- </where>
- </select>
+ <select id="selectAllCount" resultType="java.lang.Integer">
+ SELECT count(*)
+ from t_question
+ where deleted = 0
+ </select>
+ <select id="selectCountByDate" resultType="com.ycl.jxkg.domain.other.KeyValue">
+ SELECT create_time as name, COUNT(create_time) as value
+ from
+ (
+ SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as create_time from t_question
+ WHERE deleted=0 and create_time between #{startTime} and #{endTime}
+ ) a
+ 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="selectByIds" resultMap="BaseResultMap" >
- SELECT
- <include refid="Base_Column_List"/>
- FROM t_question where id in
- <foreach item="id" collection="ids" open="(" separator=","
- close=")">
- #{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="selectAllCount" resultType="java.lang.Integer">
- SELECT count(*) from t_question where deleted=0
- </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>
- <select id="selectCountByDate" resultType="com.ycl.jxkg.domain.other.KeyValue">
- SELECT create_time as name,COUNT(create_time) as value from
- (
- SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_question
- WHERE deleted=0 and create_time between #{startTime} and #{endTime}
- ) a
- GROUP BY create_time
- </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