智慧保安后台管理-外网
Administrator
2021-10-09 f8ec379d94c8ccbdadef657240429fe7c7f257ab
题目生成记录优化,单个新增修改为sql批量新增
3 files modified
34 ■■■■ changed files
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.exam.entity.ExamExaminationSubject;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamSubjectChoices;
import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
@@ -118,4 +119,10 @@
     * @return
     */
    List<ExamSubjectChoicesVO> getExaminationSubjectList(@Param("examPaper")ExamPaperVO examPaperVO);
    /**
     * 批量新增
     * @param list
     */
    void insertBatch(@Param("list")List<ExamExaminationSubject> list);
}
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -307,4 +307,18 @@
        and ees.examination_id = #{examPaper.scoreId}
    </select>
    <!--批量新增考生考题信息-->
    <insert id="insertBatch" parameterType="java.util.List">
        insert into exam_examination_subject
        (examination_id,category_id,subject_id)
        values
        <foreach collection="list" index="index" item="item" separator=",">
            (
                #{item.examinationId},
                #{item.categoryId},
                #{item.subjectId}
            )
        </foreach>
    </insert>
</mapper>
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -32,9 +32,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 服务实现类
@@ -99,6 +97,8 @@
        if (null!=paper.getScoreId()){
            //随机分类信息
            List<ExamSubjectChoicesVO> examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper);
//            long before = System.currentTimeMillis();
            List<ExamExaminationSubject> list = new ArrayList<>();
            examSubjectChoicesVOS.forEach(examSubjectChoicesVO -> {
                //新增个人对应每场考试成绩试卷
                ExamExaminationSubject ksxtSginup = new ExamExaminationSubject();
@@ -106,8 +106,13 @@
                ksxtSginup.setCategoryId(examSubjectChoicesVO.getChoicesType());
                ksxtSginup.setSubjectId(examSubjectChoicesVO.getId());
                //新增
                examExaminationSubjectService.save(ksxtSginup);
//                examExaminationSubjectService.save(ksxtSginup);
                list.add(ksxtSginup);
            });
            //批量新增
            baseMapper.insertBatch(list);
//            long after = System.currentTimeMillis();
//            System.out.println("时间差"+(after-before));
            //新增试卷关联信息
            return examSubjectChoicesVOS;
        }