From 11efc9210b47e1bc98906422ab534c9042c3e71d Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 27 五月 2024 15:53:32 +0800 Subject: [PATCH] 优化随机试卷列表 --- src/main/resources/mapper/SubjectMapper.xml | 350 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 181 insertions(+), 169 deletions(-) diff --git a/src/main/resources/mapper/SubjectMapper.xml b/src/main/resources/mapper/SubjectMapper.xml index e7a6bcd..c7b6258 100644 --- a/src/main/resources/mapper/SubjectMapper.xml +++ b/src/main/resources/mapper/SubjectMapper.xml @@ -1,186 +1,198 @@ <?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.mindskip.xzs.repository.SubjectMapper"> - <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.Subject"> - <id column="id" jdbcType="INTEGER" property="id" /> - <result column="name" jdbcType="VARCHAR" property="name" /> - <result column="level" jdbcType="INTEGER" property="level" /> - <result column="level_name" jdbcType="VARCHAR" property="levelName" /> - <result column="item_order" jdbcType="INTEGER" property="itemOrder" /> - <result column="deleted" jdbcType="BIT" property="deleted" /> - </resultMap> - <sql id="Base_Column_List"> - id, name, level, level_name, item_order, deleted - </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List" /> - from t_subject - where id = #{id,jdbcType=INTEGER} and deleted = 0 - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> - delete from t_subject - where id = #{id,jdbcType=INTEGER} - </delete> - <insert id="insert" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> - insert into t_subject (id, name, level, - level_name, item_order, deleted - ) - values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, - #{levelName,jdbcType=VARCHAR}, #{itemOrder,jdbcType=INTEGER}, #{deleted,jdbcType=BIT} - ) - </insert> - <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> - insert into t_subject - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> - id, - </if> - <if test="name != null"> - name, - </if> - <if test="level != null"> - level, - </if> - <if test="levelName != null"> - level_name, - </if> - <if test="itemOrder != null"> - item_order, - </if> - <if test="deleted != null"> - deleted, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=INTEGER}, - </if> - <if test="name != null"> - #{name,jdbcType=VARCHAR}, - </if> - <if test="level != null"> - #{level,jdbcType=INTEGER}, - </if> - <if test="levelName != null"> - #{levelName,jdbcType=VARCHAR}, - </if> - <if test="itemOrder != null"> - #{itemOrder,jdbcType=INTEGER}, - </if> - <if test="deleted != null"> - #{deleted,jdbcType=BIT}, - </if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.Subject"> - update t_subject - <set> - <if test="name != null"> - name = #{name,jdbcType=VARCHAR}, - </if> - <if test="level != null"> - level = #{level,jdbcType=INTEGER}, - </if> - <if test="levelName != null"> - level_name = #{levelName,jdbcType=VARCHAR}, - </if> - <if test="itemOrder != null"> - item_order = #{itemOrder,jdbcType=INTEGER}, - </if> - <if test="deleted != null"> - deleted = #{deleted,jdbcType=BIT}, - </if> - </set> - where id = #{id,jdbcType=INTEGER} - </update> - <update id="updateByPrimaryKey" parameterType="com.mindskip.xzs.domain.Subject"> - update t_subject - set name = #{name,jdbcType=VARCHAR}, - level = #{level,jdbcType=INTEGER}, - level_name = #{levelName,jdbcType=VARCHAR}, - item_order = #{itemOrder,jdbcType=INTEGER}, - deleted = #{deleted,jdbcType=BIT} - where id = #{id,jdbcType=INTEGER} - </update> + <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.Subject"> + <id column="id" jdbcType="INTEGER" property="id"/> + <result column="name" jdbcType="VARCHAR" property="name"/> + <result column="level" jdbcType="INTEGER" property="level"/> + <result column="level_name" jdbcType="VARCHAR" property="levelName"/> + <result column="item_order" jdbcType="INTEGER" property="itemOrder"/> + <result column="deleted" jdbcType="BIT" property="deleted"/> + </resultMap> + <sql id="Base_Column_List"> + id + , name, level, level_name, item_order, deleted + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from t_subject + where id = #{id,jdbcType=INTEGER} and deleted = 0 + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> + delete + from t_subject + where id = #{id,jdbcType=INTEGER} + </delete> + <insert id="insert" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> + insert into t_subject (id, name, level, + level_name, item_order, deleted) + values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, + #{levelName,jdbcType=VARCHAR}, #{itemOrder,jdbcType=INTEGER}, #{deleted,jdbcType=BIT}) + </insert> + <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" + keyProperty="id"> + insert into t_subject + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="name != null"> + name, + </if> + <if test="level != null"> + level, + </if> + <if test="levelName != null"> + level_name, + </if> + <if test="itemOrder != null"> + item_order, + </if> + <if test="deleted != null"> + deleted, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=INTEGER}, + </if> + <if test="name != null"> + #{name,jdbcType=VARCHAR}, + </if> + <if test="level != null"> + #{level,jdbcType=INTEGER}, + </if> + <if test="levelName != null"> + #{levelName,jdbcType=VARCHAR}, + </if> + <if test="itemOrder != null"> + #{itemOrder,jdbcType=INTEGER}, + </if> + <if test="deleted != null"> + #{deleted,jdbcType=BIT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.Subject"> + update t_subject + <set> + <if test="name != null"> + name = #{name,jdbcType=VARCHAR}, + </if> + <if test="level != null"> + level = #{level,jdbcType=INTEGER}, + </if> + <if test="levelName != null"> + level_name = #{levelName,jdbcType=VARCHAR}, + </if> + <if test="itemOrder != null"> + item_order = #{itemOrder,jdbcType=INTEGER}, + </if> + <if test="deleted != null"> + deleted = #{deleted,jdbcType=BIT}, + </if> + </set> + where id = #{id,jdbcType=INTEGER} + </update> + <update id="updateByPrimaryKey" parameterType="com.mindskip.xzs.domain.Subject"> + update t_subject + set name = #{name,jdbcType=VARCHAR}, + level = #{level,jdbcType=INTEGER}, + level_name = #{levelName,jdbcType=VARCHAR}, + item_order = #{itemOrder,jdbcType=INTEGER}, + deleted = #{deleted,jdbcType=BIT} + where id = #{id,jdbcType=INTEGER} + </update> - <select id="getSubjectByLevel" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List"/> - from t_subject where level= #{level} and deleted = 0 - order by item_order - </select> + <select id="getSubjectByLevel" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from t_subject where level= #{level} and deleted = 0 + order by item_order + </select> - <select id="allSubject" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List"/> - from t_subject where deleted = 0 - </select> + <select id="allSubject" resultMap="BaseResultMap"> + select + ts.id, ts.name + from t_subject ts + <if test="deptIds != null and deptIds.size > 0"> + INNER JOIN t_subject_dept tsd ON tsd.subject_id = ts.id + AND tsd.dept_id IN + <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">#{deptId}</foreach> + </if> + where ts.deleted = 0 + </select> - <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM"> - SELECT - <include refid="Base_Column_List"/> - FROM t_subject - <where> - and deleted=0 - <if test="id != null "> - and id= #{id} - </if> - <if test="level != null "> - and level= #{level} - </if> - <if test="name != null "> - and name like concat('%',#{name},'%') - </if> - </where> - </select> + <select id="page" resultMap="BaseResultMap" + parameterType="com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM"> + SELECT + <include refid="Base_Column_List"/> + FROM t_subject + <where> + and deleted=0 + <if test="id != null "> + and id= #{id} + </if> + <if test="level != null "> + and level= #{level} + </if> + <if test="name != null "> + and name like concat('%',#{name},'%') + </if> + </where> + </select> - <select id="getName" resultMap="BaseResultMap"> - SELECT - <include refid="Base_Column_List"/> - FROM t_subject - where name = #{name} and deleted = 0 - </select> + <select id="getName" resultMap="BaseResultMap"> + SELECT + <include refid="Base_Column_List"/> + FROM t_subject + where name = #{name} and deleted = 0 + </select> - <select id="getNames" resultMap="BaseResultMap"> - SELECT - <include refid="Base_Column_List"/> - FROM t_subject - where name in - <foreach item="name" collection="names" open="(" separator="," - close=")"> - #{name} - </foreach> - and deleted = 0 + <select id="getNames" resultMap="BaseResultMap"> + SELECT + <include refid="Base_Column_List"/> + FROM t_subject + where name in + <foreach item="name" collection="names" open="(" separator="," + close=")"> + #{name} + </foreach> + and deleted = 0 - </select> + </select> - <select id="selectByIds" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List" /> - from t_subject - where id in - <foreach item="id" collection="ids" open="(" separator="," - close=")"> - #{id} - </foreach> - and deleted = 0 - </select> + <select id="selectByIds" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from t_subject + where id in + <foreach item="id" collection="ids" open="(" separator="," + close=")"> + #{id} + </foreach> + and deleted = 0 + </select> - <select id="selectSubjectName" resultType="string"> - SELECT - name - FROM - t_subject - WHERE - id IN <foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach> - </select> + <select id="selectSubjectName" resultType="string"> + SELECT + name + FROM + t_subject + WHERE + id IN + <foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach> + </select> - <select id="selectSubjectNameById" resultType="string"> - SELECT name FROM t_subject WHERE id = #{id} AND deleted = 0 - </select> + <select id="selectSubjectNameById" resultType="string"> + SELECT name + FROM t_subject + WHERE id = #{id} + AND deleted = 0 + </select> </mapper> -- Gitblit v1.8.0