From f8ec379d94c8ccbdadef657240429fe7c7f257ab Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sat, 09 Oct 2021 17:57:51 +0800
Subject: [PATCH] 题目生成记录优化,单个新增修改为sql批量新增
---
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java | 13 +++++++++----
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java | 7 +++++++
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml | 14 ++++++++++++++
3 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
index e983935..4d81b9d 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
+++ b/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);
}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
index f0ea549..5a8d281 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index 6635094..20acbd3 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/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;
}
--
Gitblit v1.9.3