From f0f00e9ba8a755e4317e029d73b69a92ad9f9df1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期六, 14 九月 2024 17:02:41 +0800 Subject: [PATCH] update --- exam-system/src/main/resources/mapper/system/ExQuestionBankMapper.xml | 69 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 24 deletions(-) diff --git a/exam-system/src/main/resources/mapper/system/ExQuestionBankMapper.xml b/exam-system/src/main/resources/mapper/system/ExQuestionBankMapper.xml index bac3350..87ff02d 100644 --- a/exam-system/src/main/resources/mapper/system/ExQuestionBankMapper.xml +++ b/exam-system/src/main/resources/mapper/system/ExQuestionBankMapper.xml @@ -15,14 +15,23 @@ <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="remark" column="remark" /> + <result property="singleCount" column="single_count" /> + <result property="multiCount" column="multi_count" /> + <result property="judgeCount" column="judge_count" /> <result property="totalCount" column="total_count" /> <result property="exerciseCount" column="exercise_count" /> + <result property="categoryName" column="category_name" /> + <result property="questionId" column="question_id" /> </resultMap> <sql id="selectQuestionBankVo"> - select id, name, category_id, status, del_flag,company_id,privatize,version, create_by, create_time, update_by, update_time, remark, - (select count(1) from ex_question where bank_id=a.id) as total_count - from ex_question_bank + select a.id, a.name, a.category_id, a.status, a.del_flag,a.company_id,a.privatize,a.version, + a.create_by, a.create_time, a.update_by, a.update_time, a.remark,b.name as category_name, + (select count(1) from ex_question where bank_id=a.id and question_type=1) as single_count, + (select count(1) from ex_question where bank_id=a.id and question_type=2) as multi_count, + (select count(1) from ex_question where bank_id=a.id and question_type=3) as judge_count + from ex_question_bank a + left join sys_category b on b.id=a.category_id </sql> <update id="deleteByBankId"> @@ -40,43 +49,55 @@ <select id="selectQuestionBankList" resultMap="ExQuestionBankResult"> <include refid="selectQuestionBankVo"/> <where> - and del_flag=0 + and a.del_flag=0 <if test="name != null and name != ''"> - AND name like concat('%', #{name}, '%') + AND a.name like concat('%', #{name}, '%') </if> <if test="categoryId != null "> - AND categoryId =#{categoryId} + AND a.category_id =#{categoryId} </if> <if test="status != null "> - AND status =#{status} + AND a.status =#{status} </if> <if test="companyId != null "> - AND (company_id =#{companyId} or privatize=1) - </if> - </where> - order by id desc - </select> - - <select id="selectQuestionBankListForStudent" resultType="com.gkhy.exam.system.domain.ExQuestionBank"> - select a.*, - (select count(1) from ex_question where bank_id=a.id) as total_count, - b.exe_count as exercise_count - from ex_question_bank a - left join (select bank_id,count(*) as exe_count from ex_exercise_answer where student_id=#{studentId} group by bank_id) b on b.bank_id=a.id - <where> - and (a.company_id=#{companyId} or a.privatize=1) and a.del_flag=0 - <if test="name!=null and name!=''"> - a.name like concat('%',#{name},'%') + AND (a.company_id =#{companyId} or a.privatize=1) </if> </where> order by a.id desc </select> + <select id="selectQuestionBankListForStudent" resultType="com.gkhy.exam.system.domain.ExQuestionBank"> + select a.*, + (select count(1) from ex_question where bank_id=a.id ) as total_count, + (select count(1) from ex_exercise_answer where bank_id=a.id and student_id=#{studentId}) as exercise_count, + (select question_id from ex_exercise_answer where bank_id=a.id and student_id=#{studentId} order by id desc limit 1) as question_id + from ex_question_bank a + where a.del_flag=0 and (a.company_id=#{companyId} or a.privatize=1) + order by a.id desc + </select> + <select id="selectQuestionBankByIdForStudent" resultType="com.gkhy.exam.system.domain.ExQuestionBank"> select a.*, - (select count(1) from ex_question where bank_id=a.id) as total_count, + (select count(1) from ex_question where bank_id=a.id and question_type=1) as single_count, + (select count(1) from ex_question where bank_id=a.id and question_type=2) as multi_count, + (select count(1) from ex_question where bank_id=a.id and question_type=3) as judge_count, (select count(1) from ex_exercise_answer where bank_id=#{bankId} and student_id=#{studentId}) as exercise_count from ex_question_bank a where a.bank_id=#{bankId} </select> + + <select id="selectCountByBankId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ex_question_bank where del_flag=0 and id=#{bankId} + </select> + + <select id="selectCountByCategoryId" resultType="java.lang.Integer"> + select count(1) from ex_question_bank where category_id=#{categoryId} and del_flag=0 + </select> + + <select id="selectQuestionBankByIds" resultType="com.gkhy.exam.system.domain.ExQuestionBank"> + select * from ex_question_bank where del_flag=0 and id in + <foreach collection="bankIds" item="bankId" index="index" separator="," open="(" close=")"> + #{bankId} + </foreach> + </select> </mapper> -- Gitblit v1.9.2