Răsfoiți Sursa

upgrade & fix jpa.

deason 6 ani în urmă
părinte
comite
902b54e7cb
27 a modificat fișierele cu 155 adăugiri și 144 ștergeri
  1. 0 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/AudioTimeConfigService.java
  2. 5 4
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ClonePaperService.java
  3. 6 6
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportPaperService.java
  4. 1 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/PaperDetailUnitService.java
  5. 2 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/PaperStructService.java
  6. 4 6
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/ExportPaperAbstractService.java
  7. 2 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/InitPaperExpService.java
  8. 2 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/SydxExportPaperService.java
  9. 8 7
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/AudioTimeConfigServiceImpl.java
  10. 5 4
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/CoursePropertyServiceImpl.java
  11. 1 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExamFileServiceImpl.java
  12. 7 6
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportPaperServiceImpl.java
  13. 3 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportStructureServiceImpl.java
  14. 7 6
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigProviderServiceImpl.java
  15. 11 10
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigServiceImpl.java
  16. 11 12
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java
  17. 7 6
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperDetailServiceImpl.java
  18. 11 10
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperDetailUnitServiceImpl.java
  19. 5 5
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperProviderServiceImpl.java
  20. 33 34
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperServiceImpl.java
  21. 4 3
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PropertyServiceImpl.java
  22. 6 5
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuesServiceImpl.java
  23. 3 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionAudioServiceImpl.java
  24. 1 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionProviderServiceImpl.java
  25. 4 4
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/CqdxService.java
  26. 3 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/DdExcelService.java
  27. 3 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/UpdatePaperStruct.java

+ 0 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/AudioTimeConfigService.java

@@ -16,7 +16,6 @@ public interface AudioTimeConfigService {
 	
 	/**
 	 * 保存
-	 * @param audioTimeConfig
 	 */
 	public void saveAudioTimeConfig(List<AudioTimeConfig> audioTimeConfigs,User user);
 	/**
@@ -32,7 +31,6 @@ public interface AudioTimeConfigService {
 	
 	/**
 	 * 根据传入的对象查询音频题
-	 * @param audioTimeConfig
 	 * @return
 	 */
 	public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList);

+ 5 - 4
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ClonePaperService.java

@@ -10,6 +10,7 @@ package cn.com.qmth.examcloud.core.questions.service;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.base.BeanCopierUtil;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.exception.PaperException;
 import cn.com.qmth.examcloud.core.questions.dao.*;
 import cn.com.qmth.examcloud.core.questions.dao.entity.*;
@@ -84,7 +85,7 @@ public class ClonePaperService {
         if (existName != null) {
             throw new PaperException("当前试卷名称重复,请重新命名!");
         }
-        Paper oldPaper = paperRepo.findOne(paperId);
+        Paper oldPaper = Model.of(paperRepo.findById(paperId));
         if (oldPaper == null) {
             throw new PaperException("待复制的试卷不存在!");
         }
@@ -126,7 +127,7 @@ public class ClonePaperService {
             detail.setPaper(newPaper);
         }
         //批量保存大题
-        paperDetailRepo.save(detailMaps.keySet());
+        paperDetailRepo.saveAll(detailMaps.keySet());
         List<PaperDetailUnit> newDetailUnits = new ArrayList<>();
         List<Question> newQuestions = new ArrayList<>();
         for (Map.Entry<PaperDetail, List<PaperDetailUnit>> entry : detailMaps.entrySet()) {
@@ -145,7 +146,7 @@ public class ClonePaperService {
             this.updateQuestionPkgPath(question);
         }
         //批量新增试题
-        quesRepo.save(newQuestions);
+        quesRepo.saveAll(newQuestions);
 
         for (Question question : newQuestions) {
             List<QuestionAudio> audioList = question.getAudioList();
@@ -162,7 +163,7 @@ public class ClonePaperService {
         }
 
         //批量保存试题单元
-        paperDetailUnitRepo.save(newDetailUnits);
+        paperDetailUnitRepo.saveAll(newDetailUnits);
         //复制来源大题的名称
         quesTypeNameService.saveCloneQuesTypeName(newDetailUnits, newPaper.getCourseNo());
     }

+ 6 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportPaperService.java

@@ -19,6 +19,7 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.dao.entity.Course;
 import cn.com.qmth.examcloud.core.questions.dao.CoursePropertyRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PropertyRepo;
@@ -190,17 +191,17 @@ public class ImportPaperService {
             tempPaper = paperRepo.save(paper);
         }
         if (paperDetails!=null&&paperDetails.size() > 0) {
-            paperDetailRepo.save(paperDetails);
+            paperDetailRepo.saveAll(paperDetails);
         }
         if (questions!=null&&questions.size() > 0) {
             for (Question question:questions) {
             	String now = CommonUtils.getCurDateTime();
             	question.setCreateTime(now);
             }
-            quesRepo.save(questions);
+            quesRepo.saveAll(questions);
         }
         if (paperDetailUnits.size() > 0) {
-            paperDetailUnitRepo.save(paperDetailUnits);
+            paperDetailUnitRepo.saveAll(paperDetailUnits);
             quesTypeNameService.saveQuesTypeName(paperDetailUnits);
         }
         paperService.formatPaper(tempPaper, null);
@@ -639,8 +640,7 @@ public class ImportPaperService {
      * @param subQuesNum
      * @param question
      * @param importPaperCheck
-     * @param wordMLPackage
-     * @throws Exception 
+     * @throws Exception
      */
     public void processNestedQuestionHead(List<Object> pList, int index, int subQuesNum,Question question, 
     		ImportPaperCheck importPaperCheck,PaperDetailUnit paperDetailUnit) throws Exception{
@@ -1745,7 +1745,7 @@ public class ImportPaperService {
             return map;
         }
     	//根据paperId查询试卷
-    	Paper oldPaper = paperRepo.findOne(paperId);
+    	Paper oldPaper = Model.of(paperRepo.findById(paperId));
     	if(oldPaper == null){
     		msg = "克隆试卷不存在";
     		map.put("msg", msg);

+ 1 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/PaperDetailUnitService.java

@@ -92,7 +92,7 @@ public interface PaperDetailUnitService {
     
     public List<PaperDetailUnit> findByDDQuestionsAndPaperType(List<String> ids,PaperType paperType,List<Question> questionList);
     
-    public List<PaperDetailUnit> testFind(List<String> ids,PaperType paperType,List<Question> questionList);
+    //public List<PaperDetailUnit> testFind(List<String> ids,PaperType paperType,List<Question> questionList);
     
     public List<PaperDetailUnit> findByPaperIds(List<String> ids);
 }

+ 2 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/PaperStructService.java

@@ -9,6 +9,7 @@ import java.util.stream.Collectors;
 import cn.com.qmth.examcloud.core.basic.api.CourseCloudService;
 import cn.com.qmth.examcloud.core.basic.api.request.GetCourseReq;
 import cn.com.qmth.examcloud.core.basic.api.response.GetCourseResp;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.core.questions.dao.QuesTypeNameRepo;
 import cn.com.qmth.examcloud.core.questions.dao.entity.dto.CoursePropertyNumberDto;
@@ -144,7 +145,7 @@ public class PaperStructService {
      */
     public PaperStruct save(PaperStruct paperStruct, User user) {
         if (StringUtils.isNotBlank(paperStruct.getId())) {
-            PaperStruct oldPaperStruct = paperStructRepo.findOne(paperStruct.getId());
+            PaperStruct oldPaperStruct = Model.of(paperStructRepo.findById(paperStruct.getId()));
             PaperStruct rps = null;
             if (oldPaperStruct != null && !paperStruct.getName().equals(oldPaperStruct.getName())) {// 那么就是更新操作
                 rps = this.checkNameUnique(paperStruct.getName(), user.getRootOrgId().toString(),oldPaperStruct.getType());

+ 4 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/ExportPaperAbstractService.java

@@ -21,6 +21,7 @@ import java.util.stream.Collectors;
 
 import javax.xml.bind.JAXBElement;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.dao.QuesPkgPathRepo;
 import main.java.com.UpYun;
 
@@ -764,7 +765,6 @@ public abstract class ExportPaperAbstractService {
 	
 	/**
 	 * 四个选项在同一行
-	 * @param paperDetailUnit
 	 */
     public void optionListFourline(List<QuesOption> optionList) throws Exception{
     	for(int i=0;i<optionList.size();i++){
@@ -853,7 +853,6 @@ public abstract class ExportPaperAbstractService {
     
     /**
      * 选项合并
-     * @param optionList
      * @param tmpText
      * @param isLast
      * @throws Exception
@@ -1207,7 +1206,7 @@ public abstract class ExportPaperAbstractService {
 			for(Block block:blocks){
 				if("audio".equals(block.getType())){
 					computerTestPaper.setHasVideo(1);
-					PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findById(computerTestQuestion.getId());
+					PaperDetailUnit paperDetailUnit = Model.of(paperDetailUnitRepo.findById(computerTestQuestion.getId()));
 					QuestionAudio audio = questionAudioService.findAudioById(block.getValue());
 					//block.setValue(block.getValue()+"."+audio.getFileSuffixes());
 					if(audio!=null){
@@ -1216,7 +1215,7 @@ public abstract class ExportPaperAbstractService {
 						audioTime.setExamId(examId);
 						audioTime.setGroupCode(computerTestPaper.getGroupCode());
 						audioTime.setPaperDetailUnit(paperDetailUnit);
-						AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(audioTime));
+						AudioTimeConfig audioTimeConfig = Model.of(audioTimeConfigRepo.findOne(Example.of(audioTime)));
 						if(audioTimeConfig!=null){
 							if(audioTimeConfig.getPlayTime() == null){
 								block.setPlayTime(-1);
@@ -1566,7 +1565,7 @@ public abstract class ExportPaperAbstractService {
      * @return
      */
     protected List<WordprocessingMLPackage> getPkgList(String id){
-        Paper paper = paperRepo.findOne(id);
+        Paper paper = Model.of(paperRepo.findById(id));
         List<WordprocessingMLPackage> wordMLPackages = paperDetailUnitRepo.findByPaperOrderByNumber(paper)
                 .stream().map(PaperDetailUnit::getQuestion).collect(Collectors.toList())
                 .stream().map(question -> getPkgObj(question)).collect(Collectors.toList());
@@ -1609,7 +1608,6 @@ public abstract class ExportPaperAbstractService {
     
     /**
      * 下载试卷音频
-     * @param paperId
      * @param zipFileName
      */
 	public void downloadAudio(PaperExp paperExp, String zipFileName) {

+ 2 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/InitPaperExpService.java

@@ -13,6 +13,7 @@ import java.util.regex.Pattern;
 
 import javax.xml.bind.JAXBElement;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.apache.commons.lang3.StringUtils;
 import org.docx4j.XmlUtils;
 import org.docx4j.jaxb.Context;
@@ -131,7 +132,7 @@ public  class InitPaperExpService {
      */
     public PaperExp initPaperExp(String paperId){
     	//根据paperId取到paper对象
-    	Paper paper = paperRepo.findOne(paperId);
+    	Paper paper = Model.of(paperRepo.findById(paperId));
     	//paperService.formatPaper(paper, null);
     	if (paper == null) {
 			throw new StatusException("Q-090133","该试卷不存在");

+ 2 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/SydxExportPaperService.java

@@ -5,6 +5,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.apache.commons.lang3.StringUtils;
 import org.docx4j.XmlUtils;
 import org.docx4j.jaxb.Context;
@@ -140,7 +141,7 @@ public class SydxExportPaperService extends ExportPaperAbstractService{
      */
     private PaperExp initExportSydxPaper(String id) throws Exception{
         //获取paper
-        Paper paper = paperRepo.findOne(id);
+        Paper paper = Model.of(paperRepo.findById(id));
         paperService.formatPaper(paper,null);
         if(paper == null){
             throw new PaperException("该试卷不存在");

+ 8 - 7
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/AudioTimeConfigServiceImpl.java

@@ -9,6 +9,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.Map.Entry;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
@@ -60,7 +61,7 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 				//audioTimeConfig.setCreateUser(user.getName());
 				audioTimeConfig.setCreateUser(user.getDisplayName());
 			}
-			audioTimeConfigRepo.save(audioTimeConfigs);
+			audioTimeConfigRepo.saveAll(audioTimeConfigs);
 		}
 	}
 
@@ -78,7 +79,7 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 	public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList) {
 		List<AudioTimeConfig> audioTimeConfigList = new ArrayList<AudioTimeConfig>();
 		for(AudioTimeConfig audioTimeConfig:audioTimeConfigModelList){
-			Paper paper = paperRepo.findOne(audioTimeConfig.getPaper().getId());
+			Paper paper = Model.of(paperRepo.findById(audioTimeConfig.getPaper().getId()));
 	    	//根据试卷查询所有小题
 	    	List<PaperDetailUnit> list = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
 	    	for(PaperDetailUnit paperDetailUnit:list){
@@ -125,7 +126,7 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 			Iterator<Entry<String,String>> iterator = entrySet.iterator();
 			while(iterator.hasNext()){
 				Entry<String,String> entry = iterator.next();
-				Paper paper = paperRepo.findOne(entry.getValue());
+				Paper paper =  Model.of(paperRepo.findById(entry.getValue()));
 		    	//根据试卷查询所有小题
 		    	List<PaperDetailUnit> list = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
 		    	for(PaperDetailUnit paperDetailUnit:list){
@@ -155,7 +156,7 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 			quesService.formatQues(audioTimeConfig.getPaperDetailUnit().getQuestion());
 		}
 		audioTimeConfigList.removeAll(configs);
-		audioTimeConfigRepo.delete(configs);
+		audioTimeConfigRepo.deleteAll(configs);
 	}
 
 	@Override
@@ -177,13 +178,13 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 			map.put("errMessage", "paperDetailUnitId为空");
 			return map;
 		}
-		PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findOne(paperDetailUnitId);
+		PaperDetailUnit paperDetailUnit =  Model.of(paperDetailUnitRepo.findById(paperDetailUnitId));
 		AudioTimeConfig audioTime = new AudioTimeConfig();
 		audioTime.setCourseCode(courseCode);
 		audioTime.setExamId(examId);
 		audioTime.setGroupCode(groupCode);
 		audioTime.setPaperDetailUnit(paperDetailUnit);
-		AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(audioTime));
+		AudioTimeConfig audioTimeConfig =  Model.of(audioTimeConfigRepo.findOne(Example.of(audioTime)));
 	    if(audioTimeConfig == null){
 	    	map.put("errMessage", "音频次数未设置");
 	    	return map;
@@ -199,7 +200,7 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 		List<AudioTimeConfig> newList = new ArrayList<AudioTimeConfig>();
 		if(list != null && list.size()>0){
 			for(AudioTimeConfig audioTimeConfig:list){
-				AudioTimeConfig oldAudioTimeConfig = audioTimeConfigRepo.findOne(Example.of(audioTimeConfig));
+				AudioTimeConfig oldAudioTimeConfig =  Model.of(audioTimeConfigRepo.findOne(Example.of(audioTimeConfig)));
 				if(oldAudioTimeConfig != null){
 					newList.add(oldAudioTimeConfig);
 				}else {

+ 5 - 4
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/CoursePropertyServiceImpl.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import javax.persistence.criteria.Predicate;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -91,14 +92,14 @@ public class CoursePropertyServiceImpl implements CoursePropertyService{
 	
 	@Override
 	public void openCourseProperty(Long id) {
-		CourseProperty courseProperty = coursePropertyRepo.findOne(id);
+		CourseProperty courseProperty =  Model.of(coursePropertyRepo.findById(id));
 		courseProperty.setEnable(true);
 		coursePropertyRepo.save(courseProperty);
 	}
 
 	@Override
 	public void closeCourseProperty(Long id) {
-		CourseProperty courseProperty = coursePropertyRepo.findOne(id);
+		CourseProperty courseProperty =  Model.of(coursePropertyRepo.findById(id));
 		courseProperty.setEnable(false);
 		coursePropertyRepo.save(courseProperty);
 	}
@@ -133,7 +134,7 @@ public class CoursePropertyServiceImpl implements CoursePropertyService{
 		for(CourseProperty courseProperty:courseProperties){
 			courseProperty.setEnable(true);
 		}
-		coursePropertyRepo.save(courseProperties);
+		coursePropertyRepo.saveAll(courseProperties);
 	}
 
 	@Override
@@ -148,7 +149,7 @@ public class CoursePropertyServiceImpl implements CoursePropertyService{
 		for(CourseProperty courseProperty:courseProperties){
 			courseProperty.setEnable(false);
 		}
-		coursePropertyRepo.save(courseProperties);
+		coursePropertyRepo.saveAll(courseProperties);
 	}
 	
 }

+ 1 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExamFileServiceImpl.java

@@ -104,7 +104,7 @@ public class ExamFileServiceImpl implements ExamFileService{
 			//删除又拍云上的文件
 			upyun.deleteFile(examFile2.getFilePath());
 		}
-		examFileRepo.delete(examFiles);
+		examFileRepo.deleteAll(examFiles);
 	}
 
 }

+ 7 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportPaperServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.questions.service.impl;
 
 import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
 import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
 import cn.com.qmth.examcloud.core.questions.base.FileDisposeUtil;
@@ -108,7 +109,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
     public void exportPaperFile(String paperId, String serviceName, String exportContentList, HttpServletResponse response, String loginName, String examType, String psw) throws Exception {
         ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById(serviceName);
         //根据试卷id查询试卷
-        Paper paper = paperRepo.findOne(paperId);
+        Paper paper = Model.of(paperRepo.findById(paperId));
 
         String zipFileName = loginName + System.currentTimeMillis() + "";
         File directory = new File(TEMP_FILE_EXP + File.separator + zipFileName);
@@ -212,7 +213,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
                                 for (Block block : blocks) {
                                     if (block.getType().equals("audio")) {
                                         String id = block.getValue();
-                                        QuestionAudio questionAudio = questionAudioRepo.findOne(id);
+                                        QuestionAudio questionAudio =  Model.of(questionAudioRepo.findById(id));
                                         String audioFileName = questionAudio.getId() + "_" +
                                                 detail.getNumber() + "_" + question.getNumber() +
                                                 "_1_" + bodyNum + "." + questionAudio.getFileSuffixes();
@@ -239,7 +240,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
                                             for (Block block : blocks) {
                                                 if (block.getType().equals("audio")) {
                                                     String id = block.getValue();
-                                                    QuestionAudio questionAudio = questionAudioRepo.findOne(id);
+                                                    QuestionAudio questionAudio =  Model.of(questionAudioRepo.findById(id));
                                                     String audioFileName = questionAudio.getId() + "_" +
                                                             detail.getNumber() + "_" + question.getNumber() +
                                                             "_2_" + computerTestOption.getNumber() + "_" + optionNum + "." + questionAudio.getFileSuffixes();
@@ -492,7 +493,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
     public void exportPaperFiles(List<String> paperIds, String serviceName, String exportContentList, HttpServletResponse response, String loginName, String examType) throws Exception {
         ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById(serviceName);
         //根据试卷id查询所有试卷
-        List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
+        List<Paper> papers = CommonUtils.toList(paperRepo.findByIdIn(paperIds));
         String zipFileName = loginName;
         //创建压缩文件夹
         File directory = new File(TEMP_FILE_EXP + File.separator + zipFileName);
@@ -775,7 +776,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
      * @return
      */
     protected List<WordprocessingMLPackage> getPkgList(String id){
-        Paper paper = paperRepo.findOne(id);
+        Paper paper =  Model.of(paperRepo.findById(id));
         List<WordprocessingMLPackage> wordMLPackages = paperDetailUnitRepo.findByPaperOrderByNumber(paper)
                 .stream().map(PaperDetailUnit::getQuestion).collect(Collectors.toList())
                 .stream().map(question -> getPkgObj(question)).collect(Collectors.toList());
@@ -803,7 +804,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
 		// 查询试卷集合
 		String[] paperIdArray = paperIds.split(",");
 		for (int i = 0; i < paperIdArray.length; i++) {
-			Paper basePaper = paperRepo.findOne(paperIdArray[i]);
+			Paper basePaper = Model.of( paperRepo.findById(paperIdArray[i]));
 			courseNos.add(basePaper.getCourse().getCode());
 			//将小题全部取出来,只取一次,减少对数据库的查询
 			List<PaperDetailUnit> allPaperDetailUnits = paperDetailUnitRepo.findByPaper(basePaper);

+ 3 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportStructureServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import main.java.com.UpYun;
 
 import org.apache.commons.lang3.StringUtils;
@@ -146,7 +147,7 @@ public class ExportStructureServiceImpl implements ExportStructureService {
 	@Override
 	public void deleteExportStructure(String id) {
 		//首先根据id,查询到  exportStructure 对象
-		ExportStructure exportStructure = exportStructureRepo.findOne(id);
+		ExportStructure exportStructure = Model.of(exportStructureRepo.findById(id));
 		if(exportStructure != null){
 			//1.首先删除ExamFile表       根据  examId 和    orgId  查询   ExamFile对象
 			List<ExamFile> list = examFileService.findExamFileListByExamFile(new ExamFile(exportStructure.getExamId(),exportStructure.getOrgId()));
@@ -156,7 +157,7 @@ public class ExportStructureServiceImpl implements ExportStructureService {
 				for(int i=0;i<list.size();i++){
 					upyun.deleteFile(list.get(i).getFilePath());
 				}
-				examFileRepo.delete(list);
+				examFileRepo.deleteAll(list);
 			}
 			//2.然后修改ExtractConfig表      根据 examId 和    orgId
 			Query query = new Query();

+ 7 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigProviderServiceImpl.java

@@ -14,6 +14,7 @@ import java.util.stream.Collectors;
 
 import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
 import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -171,7 +172,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 				String key = it.next();
 				Paper paper = this.getPaperByProbability(examPaperMap.get(key));
 				//不能用原来的paper对象,否则examPaperList中的paper对象会被覆盖
-				Paper newPaper =paperRepo.findOne(paper.getId());
+				Paper newPaper = Model.of(paperRepo.findById(paper.getId()));
 				paperByTypeMap.put(key,newPaper);
 			}
 		}
@@ -250,7 +251,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 				if(examId != null){
 					//设置音频播放次数
 					if(paperDetailUnit.getQuestion().getHasAudio() != null && paperDetailUnit.getQuestion().getHasAudio() == true){
-						AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,paperDetailUnit.getQuestion().getId())));
+						AudioTimeConfig audioTimeConfig = Model.of( audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,paperDetailUnit.getQuestion().getId()))));
 						if(audioTimeConfig != null){
 							defaultQuestionStructureWrapper.setLimitedPlayTimes(audioTimeConfig.getPlayTime());
 						}
@@ -336,7 +337,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 	public DefaultQuestion getDefaultQuestion(Long examId, String courseCode, String groupCode, String questionId) {
 		log.debug("网考根据调卷规则中试题id:"+ questionId +"获取单个试题...");
 		long beginTime = System.currentTimeMillis();
-		Question question = quesRepo.findOne(questionId);
+		Question question = Model.of( quesRepo.findById(questionId));
 		if(question == null){
 			throw new StatusException("Q-020330", "question is null");
 		}
@@ -474,7 +475,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 	private void appendAudioFlag(DefaultQuestion defaultQuestion,String examId,String courseCode,String groupCode,Question question){
 		if(question.getHasAudio() != null && question.getHasAudio() == true){
 			//1.判断questionDto是否含有音频,如果有添加音频播放次数
-			AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,question.getId())));
+			AudioTimeConfig audioTimeConfig =  Model.of(audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,question.getId()))));
 			if(audioTimeConfig != null){
 				//2.1 取到题干,给a标签添加url
 				String quesBody = null;
@@ -596,7 +597,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 
 	@Override
 	public DefaultPaper getBaseDefaultPaper(String paperId) {
-		Paper basePaper = paperRepo.findOne(paperId);
+		Paper basePaper = Model.of( paperRepo.findById(paperId));
 		if(basePaper==null){
 			log.error("该考试和课程下调卷规则中该类型试卷不存在,请检查调卷规则,调卷程序退出");
 			throw new StatusException("Q-020560","该考试和课程下调卷规则中试卷不存在,请重新制定调卷规则");
@@ -624,7 +625,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 	@Override
 	public List<String> getAnswer(String questionId) {
 		List<String> list = new ArrayList<String>();
-		Question question = quesRepo.findOne(questionId);
+		Question question = Model.of( quesRepo.findById(questionId));
 		if(question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION){
 			List<Question> subList = question.getSubQuestions();
 			if(subList!=null && subList.size()>0){

+ 11 - 10
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigServiceImpl.java

@@ -6,6 +6,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.service.bean.CouresInfo;
 import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailDtoAssembler;
 import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailUnitDtoAssembler;
@@ -178,7 +179,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		for(int i=0;i<examPapers.size();i++){
 			ExamPaper examPaper = examPapers.get(i);
 			Paper paper = examPaper.getPaper();
-			paper = paperRepo.findOne(paper.getId());
+			paper =  Model.of(paperRepo.findById(paper.getId()));
 			examPaper.setPaper(paper);
 		}
 		Course course = courseService.getCourse(Long.valueOf(extractConfig.getOrgId()),extractConfig.getCourseCode());
@@ -197,7 +198,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		for(int i=0;i<examPapers.size();i++){
 			ExamPaper examPaper = examPapers.get(i);
 			Paper paper = examPaper.getPaper();
-			paper = paperRepo.findOne(paper.getId());
+			paper = Model.of( paperRepo.findById(paper.getId()));
 			examPaper.setPaper(paper);
 		}
 		Course course = courseService.getCourse(Long.valueOf(extractConfig.getOrgId()),extractConfig.getCourseCode());
@@ -214,7 +215,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		if(StringUtils.isBlank(id)){
 			return null;
 		}
-		return extractConfigRepo.findOne(id);
+		return  Model.of(extractConfigRepo.findById(id));
 	}
 	
 	@Override
@@ -289,7 +290,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 			return paperDto.isAllQbjectiveQuestion();
 		}
 
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper = Model.of( paperRepo.findById(paperId));
 		List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
 		for(PaperDetailUnit paperDetailUnit:paperDetailUnits){
 			Question question = paperDetailUnit.getQuestion();
@@ -469,7 +470,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 				String key = it.next();
 				Paper paper = this.getPaperByProbability(examPaperMap.get(key));
 				//不能用原来的paper对象,否则examPaperList中的paper对象会被覆盖
-				Paper newPaper =paperRepo.findOne(paper.getId());
+				Paper newPaper = Model.of(paperRepo.findById(paper.getId()));
 				paperByTypeMap.put(key,newPaper);
 			}
 		}
@@ -677,7 +678,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 
 		long beginTime = System.currentTimeMillis();
 		//没有则重新组装
-		Paper paper = paperRepo.findOne(basePaperId);
+		Paper paper =  Model.of(paperRepo.findById(basePaperId));
 		PaperDto paperDto = paperDtoAssembler.toDto(paper);
 		paperDto.setBasePaperId(basePaperId);
 
@@ -797,7 +798,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	 */
 	@Override
 	public QuestionDto extractExamQuestion(String examId,String courseCode,String groupCode,String paperDetailUnitId) {
-        PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findOne(paperDetailUnitId);
+        PaperDetailUnit paperDetailUnit = Model.of( paperDetailUnitRepo.findById(paperDetailUnitId));
         List<PaperDetailUnit> paperDetailUnits = new ArrayList<PaperDetailUnit>();
         paperDetailUnits.add(paperDetailUnit);
         //设置答案
@@ -858,7 +859,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	private void appendAudioFlag(QuestionDto questionDto, String examId,String courseCode,String groupCode){
 		if(questionDto.getHasAudio() != null && questionDto.getHasAudio() == true){
 			//1.判断questionDto是否含有音频,如果有添加音频播放次数
-			AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,questionDto.getId())));
+			AudioTimeConfig audioTimeConfig =  Model.of(audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,questionDto.getId()))));
 			questionDto.setPlayTime(audioTimeConfig != null?audioTimeConfig.getPlayTime():null);
 			//2.1 取到题干,给a标签添加url
 			String quesBody = questionDto.getQuesBody();
@@ -993,7 +994,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	@Override
 	public Map<String, Object> extractPaper(String paperId) {
 		Map<String, Object> returnMap = new HashMap<String,Object>();
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper = Model.of( paperRepo.findById(paperId));
 		if(paper == null){
 			returnMap.put("errorMsg","该试卷不存在");
 			return returnMap;
@@ -1006,7 +1007,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	@Override
 	public String getAnswerHtml(String paperId) {
 		//1.根据id查询试卷
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper =  Model.of(paperRepo.findById(paperId));
 		//2.定义html字符串
 		StringBuffer answerHtml = new StringBuffer("<p style=\"text-align:center;font-size:20px;font-weight:bold\">"+paper.getCourse().getName()+"("+paper.getCourse().getCode()+")"+"</p>");
 		//添加考试说明

+ 11 - 12
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java

@@ -11,6 +11,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStructType;
 
 import org.apache.commons.lang3.StringUtils;
@@ -80,7 +81,7 @@ public class GenPaperService {
         LinkedList<Question> questions = new LinkedList<Question>();
         //查询试卷结构
         long start = System.currentTimeMillis();
-        PaperStruct paperStruct = paperStructRepo.findOne(genPaperDto.getPaperStructId());
+        PaperStruct paperStruct = Model.of( paperStructRepo.findById(genPaperDto.getPaperStructId()));
         if(paperStruct == null){
             paperMsgMap.put("msg", "试卷结构不存在");
             return paperMsgMap;
@@ -91,7 +92,7 @@ public class GenPaperService {
         for (DetailContext dc : detailContexts) {
             unitContexts.addAll(dc.getUnits());
         }
-        List<Paper> papers = (List<Paper>) paperRepo.findAll(genPaperDto.getPaperIds());
+        List<Paper> papers = (List<Paper>) paperRepo.findByIdIn(genPaperDto.getPaperIds());
         List<PaperDetailUnit> unitList = new ArrayList<PaperDetailUnit>();
         for (Paper oldPaper : papers) {
         	//unitList.addAll(unitRepo.findByPaperOrderByNumber(oldPaper));
@@ -230,7 +231,6 @@ public class GenPaperService {
      * 按分数在选定的试卷中随机抽取题,组成一套新的试卷
      * @author 	weiwenhai
      * @param 	genPaperDto
-     * @param 	type
      * @return	Map<String, Object>
      */
     public Map<String, Object> genPaperByScore(GenPaperDto genPaperDto,User user) {
@@ -270,7 +270,7 @@ public class GenPaperService {
     			List<PaperDetailUnit> unitList = unitMap.get(paperId);
     			//试卷总分
     			double sum = sum(unitList);
-    			Paper paper = paperRepo.findOne(paperId);
+    			Paper paper = Model.of( paperRepo.findById(paperId));
     			if(sum < needScore.doubleValue() || needScore.doubleValue()==0){
     				if(needScore.doubleValue()==0){
     					paperMsgMap.put("msg", "\""+paper.getName()+"\"试卷,组卷分数不能为0");
@@ -395,7 +395,6 @@ public class GenPaperService {
      * 按每套试卷需要抽取的题目数量随机抽取题,组成一套新的试卷
      * @author 	weiwenhai
      * @param 	genPaperDto
-     * @param 	type
      * @return	Map<String, Object>
      */
     public Map<String, Object> genPaperByQuestionNum(GenPaperDto genPaperDto,User user) {
@@ -422,7 +421,7 @@ public class GenPaperService {
     			List<PaperDetailUnit> unitList = unitMap.get(paperId);
     			//计算所有题目数量
     			int questionSum = countQuestions(unitList);
-    			Paper paper = paperRepo.findOne(paperId);
+    			Paper paper =  Model.of(paperRepo.findById(paperId));
     			if(needNumber>questionSum || needNumber == 0){
     				if(needNumber == 0){
     					paperMsgMap.put("msg", "\""+paper.getName()+"\"试卷,组卷数量不能为0");
@@ -602,7 +601,7 @@ public class GenPaperService {
     		//取到试卷id
     		for(String paperId : paperMap.keySet()){
     			//取到所有小题
-    			Paper paper = paperRepo.findOne(paperId);
+    			Paper paper = Model.of( paperRepo.findById(paperId));
     			List<PaperDetailUnit> unitList = unitRepo.findByPaperOrderByNumber(paper);
     			oldUnits.addAll(unitList);
     		}
@@ -820,11 +819,11 @@ public class GenPaperService {
         for (PaperDetail pd : details) {
             pd.setPaper(paper);
         }
-        paperDetailRepo.save(details);
+        paperDetailRepo.saveAll(details);
         for(PaperDetailUnit pdu:selectedUnits){
         	pdu.setPaper(paper);
         }
-        unitRepo.save(selectedUnits);
+        unitRepo.saveAll(selectedUnits);
         //给试卷中的小题设置number
         List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
         int index = 0;
@@ -861,7 +860,7 @@ public class GenPaperService {
                     }
                 }
         	}
-        	unitRepo.save(paperDetailUnits);
+        	unitRepo.saveAll(paperDetailUnits);
         }
         paper.setDifficultyDegree(paperService.reSetDifficulty(paper, paper.getTotalScore()));
         paper = paperRepo.save(paper);
@@ -899,7 +898,7 @@ public class GenPaperService {
         LinkedList<Question> questions = new LinkedList<Question>();
         //查询试卷结构
         long start = System.currentTimeMillis();
-        PaperStruct paperStruct = paperStructRepo.findOne(genPaperDto.getPaperStructId());
+        PaperStruct paperStruct = Model.of( paperStructRepo.findById(genPaperDto.getPaperStructId()));
         if(paperStruct == null){
         	paperMsgMap.put("msg", "试卷结构不存在");
             return paperMsgMap;
@@ -910,7 +909,7 @@ public class GenPaperService {
         for (DetailContext dc : detailContexts) {
             unitContexts.addAll(dc.getUnits());
         }
-        List<Paper> papers = (List<Paper>) paperRepo.findAll(genPaperDto.getPaperIds());
+        List<Paper> papers = (List<Paper>) paperRepo.findByIdIn(genPaperDto.getPaperIds());
         List<PaperDetailUnit> unitList = new ArrayList<PaperDetailUnit>();
         for (Paper oldPaper : papers) {
         	//unitList.addAll(unitRepo.findByPaperOrderByNumber(oldPaper));

+ 7 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperDetailServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.questions.service.impl;
 
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -53,7 +54,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
      * @return
      */
     public List<PaperDetailUnit> getUnitsByPaperDetailId(String id) {
-        return unitService.getUnitsByPaperDetail(paperDetailRepo.findOne(id));
+        return unitService.getUnitsByPaperDetail(Model.of(paperDetailRepo.findById(id)));
     }
 
     /**
@@ -63,7 +64,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
      * @return
      */
     public PaperDetail findById(String id) {
-        return paperDetailRepo.findOne(id);
+        return  Model.of(paperDetailRepo.findById(id));
     }
 
     /**
@@ -73,7 +74,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
      * @return
      */
     public PaperDetail savePaperDetail(PaperDetail pd, String paperId, User user) {
-        Paper paper = paperRepo.findOne(paperId);
+        Paper paper =  Model.of(paperRepo.findById(paperId));
         paper.setLastModifyName(user.getDisplayName());
         paper = paperRepo.save(paper);
         pd.setPaper(paper);
@@ -90,7 +91,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
      * @return
      */
     public void deletePaperDetail(String id) {
-        paperDetailRepo.delete(id);
+        paperDetailRepo.deleteById(id);
     }
 
     /**
@@ -111,7 +112,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
     public void deletePaperDetailsByPaper(Paper paper) {
         List<PaperDetail> details = getPaperDetailsByPaper(paper);
         unitService.deleteUnitsByPaperDetails(details);
-        paperDetailRepo.delete(details);
+        paperDetailRepo.deleteAll(details);
     }
 
     /**
@@ -123,7 +124,7 @@ public class PaperDetailServiceImpl implements PaperDetailService{
         for (Paper paper : papers) {
             List<PaperDetail> details = getPaperDetailsByPaper(paper);
             unitService.deleteUnitsByPaperDetails(details);
-            paperDetailRepo.delete(details);
+            paperDetailRepo.deleteAll(details);
         }
     }
 }

+ 11 - 10
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperDetailUnitServiceImpl.java

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.web.redis.RedisClient;
 import org.bson.types.ObjectId;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -68,7 +69,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
      * @return
      */
     public Question getQuestionByPaperDetailUnitId(String id) {
-        return paperDetailUnitRepo.findOne(id).getQuestion();
+        return  Model.of(paperDetailUnitRepo.findById(id)).getQuestion();
     }
 
     /**
@@ -77,7 +78,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
      * @return
      */
     public PaperDetailUnit findById(String id) {
-        return paperDetailUnitRepo.findOne(id);
+        return  Model.of(paperDetailUnitRepo.findById(id));
     }
 
     /**
@@ -86,7 +87,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
      * @return
      */
     public PaperDetailUnit savePaperDetailUnit(PaperDetailUnitExp pduExp, User user) {
-        PaperDetailUnit oldPdu = paperDetailUnitRepo.findOne(pduExp.getId());
+        PaperDetailUnit oldPdu =  Model.of(paperDetailUnitRepo.findById(pduExp.getId()));
         if (oldPdu.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
             if (pduExp.getQuestion().getId().equals(oldPdu.getQuestion().getId())) {
                 // 更新对象为套题本身
@@ -152,8 +153,8 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
      * @return
      */
     public void deletePaperDetailUnit(String id, User user) {
-        Paper paper = paperDetailUnitRepo.findOne(id).getPaper();
-        paperDetailUnitRepo.delete(id);
+        Paper paper =  Model.of(paperDetailUnitRepo.findById(id)).getPaper();
+        paperDetailUnitRepo.deleteById(id);
         if(paper.getPaperType() == PaperType.GENERATE){
         	redisClient.delete(redisPaperPrefix+":"+paper.getId());
         }
@@ -180,7 +181,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
         for (PaperDetail pd : paperDetails) {
             units.addAll(getUnitsByPaperDetail(pd));
         }
-        paperDetailUnitRepo.delete(units);
+        paperDetailUnitRepo.deleteAll(units);
     }
     
     public List<PaperDetailUnit> findByQuestionAndPaperTypes(Question question,List<PaperType> paperTypes){
@@ -252,7 +253,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
 		return paperDetailUnits;
 	}
 
-	@Override
+	/*@Override
 	public List<PaperDetailUnit> testFind(List<String> ids,PaperType paperType, List<Question> questionList) {
 		//第一种查询,quesion.id  id
 		DBObject query1 = new BasicDBObject();
@@ -266,7 +267,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
 			DBObject object=dbCursor.next();
 			System.out.println("打印游标---------------"+object);
 		}
-		
+
 		//第二种查询,quesion.$id  id
 		//DBObject query2 = new BasicDBObject();
 		BasicDBList values2 = new BasicDBList();
@@ -279,7 +280,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
 			DBObject object=dbCursor2.next();
 			System.out.println("打印游标2---------------"+object);
 		}
-		
+
 		//第三种查询,quesion.$id  ObjectId
 		//DBObject query3 = new BasicDBObject();
 		BasicDBList values3 = new BasicDBList();
@@ -293,7 +294,7 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
 			System.out.println("打印游标3---------------"+object);
 		}
 		return null;
-	}
+	}*/
 
 	@Override
 	public List<PaperDetailUnit> findByPaperIds(List<String> ids) {

+ 5 - 5
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperProviderServiceImpl.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -88,8 +89,8 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 		List<PaperDetailUnit> paperDetailUnits = buildUnits(paper,paperDetail,questions,map);
 		paper = paperRepo.save(paper);
 		paperDetailRepo.save(paperDetail);
-		quesRepo.save(questions);
-		paperDetailUnitRepo.save(paperDetailUnits);
+		quesRepo.saveAll(questions);
+		paperDetailUnitRepo.saveAll(paperDetailUnits);
 		return paper.getId();
 	}
 	
@@ -110,7 +111,6 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 	/**
 	 * 构建试卷对象
 	 * @param paperName
-	 * @param user
 	 * @return
 	 */
 	private Paper initPaper(String paperName ,String orgId,String userName) {
@@ -176,7 +176,7 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 
 	@Override
 	public DefaultPaper findPaper(String paperId) {
-		Paper basePaper = paperRepo.findOne(paperId);
+		Paper basePaper = Model.of(paperRepo.findById(paperId));
 		if(basePaper == null){
 			throw new StatusException("Q-014180", "basePaper is null");
 		}
@@ -195,7 +195,7 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 			extractConfigRepo.delete(tempConfig);
     	}
 		//查询试卷对象
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper = Model.of(paperRepo.findById(paperId));
 		if(paper == null){
 			throw new StatusException("Q-014200", "paper is null");
 		}

+ 33 - 34
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperServiceImpl.java

@@ -18,6 +18,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import cn.com.qmth.examcloud.commons.util.JsonUtil;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import main.java.com.UpYun;
 
 import org.apache.commons.io.FileUtils;
@@ -60,8 +61,6 @@ import cn.com.qmth.examcloud.web.redis.RedisClient;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 
 import com.google.gson.Gson;
-import com.mysql.jdbc.log.Log;
-
 import cn.com.qmth.examcloud.core.questions.dao.ExamPaperRepo;
 import cn.com.qmth.examcloud.core.questions.dao.ExportServiceManageRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperDetailRepo;
@@ -314,7 +313,7 @@ public class PaperServiceImpl implements PaperService{
     @SuppressWarnings("unchecked")
 	public Map<String, Object> savePaper(PaperExp paperExp, User user) {
         Map<String, Object> msgMap = new HashMap<String, Object>();
-        Paper oldPaper = paperRepo.findOne(paperExp.getId());
+        Paper oldPaper = Model.of( paperRepo.findById(paperExp.getId()));
         if (oldPaper != null) {
             String oldName = oldPaper.getName().trim();
             oldPaper.setTitle(paperExp.getTitle());
@@ -390,7 +389,7 @@ public class PaperServiceImpl implements PaperService{
         Example<ExamPaper> example = Example.of(examPaper);
         List<ExamPaper> examPapers = examPaperRepo.findAll(example);
         for (ExamPaper ePaper : examPapers) {
-            Paper paper = paperRepo.findOne(ePaper.getPaper().getId());
+            Paper paper =  Model.of(paperRepo.findById(ePaper.getPaper().getId()));
             papers.add(paper);
         }
         return papers;
@@ -450,7 +449,7 @@ public class PaperServiceImpl implements PaperService{
      * @return
      */
     public List<PaperDetail> findPaperDetailsById(String id) {
-        return paperDetailService.getPaperDetailsByPaper(paperRepo.findOne(id));
+        return paperDetailService.getPaperDetailsByPaper( Model.of(paperRepo.findById(id)));
     }
 
     /**
@@ -462,7 +461,7 @@ public class PaperServiceImpl implements PaperService{
 	public Map<String, Object> deletePapers(List<String> paperIds) {
         Map<String, Object> msgMap = new HashMap<String, Object>();
         String msg = "";
-        List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
+        List<Paper> papers = CommonUtils.toList(paperRepo.findByIdIn(paperIds));
         if (papers.get(0).getPaperType() == PaperType.IMPORT) {
             List<Question> quesList = new ArrayList<Question>();
             for (Paper paper : papers) {
@@ -484,7 +483,7 @@ public class PaperServiceImpl implements PaperService{
             }
             //删除音频
             questionAudioService.deleteAudio(quesList);
-            quesRepo.delete(quesList);
+            quesRepo.deleteAll(quesList);
         } else if (papers.get(0).getPaperType() == PaperType.GENERATE) {
             for (Paper paper : papers) {
                 List<String> examPaperIds = extractConfigService.getExamPaperId(paper.getCourseNo(), paper.getOrgId());
@@ -497,7 +496,7 @@ public class PaperServiceImpl implements PaperService{
             }
         }
         paperDetailService.deletePaperDetailsByPapers(papers);
-        paperRepo.delete(papers);
+        paperRepo.deleteAll(papers);
         //删除缓存
         redisTemplate.delete(paperIds);
         msg = "success";
@@ -511,11 +510,11 @@ public class PaperServiceImpl implements PaperService{
      * @param paperIds
      */
     public void passPapers(List<String> paperIds) {
-        List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
+        List<Paper> papers = CommonUtils.toList(paperRepo.findByIdIn(paperIds));
         papers.stream().forEach(paper -> {
             paper.setPaperStatus(PaperStatus.PASS);
         });
-        paperRepo.save(papers);
+        paperRepo.saveAll(papers);
     }
 
     /**
@@ -524,11 +523,11 @@ public class PaperServiceImpl implements PaperService{
      * @param paperIds
      */
     public void noPassPapers(List<String> paperIds) {
-        List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
+        List<Paper> papers = CommonUtils.toList(paperRepo.findByIdIn(paperIds));
         papers.stream().forEach(paper -> {
             paper.setPaperStatus(PaperStatus.NOPASS);
         });
-        paperRepo.save(papers);
+        paperRepo.saveAll(papers);
     }
 
     /**
@@ -537,11 +536,11 @@ public class PaperServiceImpl implements PaperService{
      * @param paperIds
      */
     public void backPapers(List<String> paperIds) {
-        List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
+        List<Paper> papers = CommonUtils.toList(paperRepo.findByIdIn(paperIds));
         papers.stream().forEach(paper -> {
             paper.setPaperStatus(PaperStatus.DRAFT);
         });
-        paperRepo.save(papers);
+        paperRepo.saveAll(papers);
     }
 
     /**
@@ -551,7 +550,7 @@ public class PaperServiceImpl implements PaperService{
      * @return
      */
     public PaperExp getPaperDto(String id) {
-        Paper paper = paperRepo.findOne(id);
+        Paper paper =  Model.of(paperRepo.findById(id));
         // 创建paperDto
         PaperExp paperExp = new PaperExp();
         BeanUtils.copyProperties(paper, paperExp);
@@ -788,7 +787,7 @@ public class PaperServiceImpl implements PaperService{
             }
             unit.setNumber(i+1);
         }
-        paperDetailUnitRepo.save(paperDetailUnitAll);
+        paperDetailUnitRepo.saveAll(paperDetailUnitAll);
         totalScore = CommonUtils.formatDouble(totalScore);
         return totalScore;
 	}
@@ -827,7 +826,7 @@ public class PaperServiceImpl implements PaperService{
                 paperDetail.setScore(0d);
             }
         }
-        paperDetailRepo.save(paperDetails);
+        paperDetailRepo.saveAll(paperDetails);
         paperInfoMap.put("allQuesCount", allQuesCount);
         paperInfoMap.put("paperDetails", paperDetails);
         return paperInfoMap;
@@ -860,7 +859,7 @@ public class PaperServiceImpl implements PaperService{
      * @return
      */
     public List<String> deleteImportQuestionById(String questionId, User user) {
-        Question ques = quesRepo.findOne(questionId);
+        Question ques =  Model.of(quesRepo.findById(questionId));
         List<PaperDetailUnit> pdus = CommonUtils.toList(paperDetailUnitRepo.findByQuestion(ques));
         List<String> paperNames = new ArrayList<String>();
         List<PaperDetailUnit> needPdus = new ArrayList<PaperDetailUnit>();// 需要删除的小题
@@ -878,7 +877,7 @@ public class PaperServiceImpl implements PaperService{
 
         if (paperNames.size() == 0) {
             needPdus.addAll(pdus);// 此试题没有被组卷调用,则可以删除此试题
-            paperDetailUnitRepo.delete(needPdus);
+            paperDetailUnitRepo.deleteAll(needPdus);
             quesBakRepo.save(BeanCopierUtil.copyProperties(ques, QuestionBak.class));
             quesRepo.delete(ques);
             for (Paper paper : papers) {
@@ -896,13 +895,13 @@ public class PaperServiceImpl implements PaperService{
      * @return
      */
     public Paper insertQuestionToPaper(String paperId, String paperDetailId, Question question, User user) {
-    	Paper paper = paperRepo.findOne(paperId);
+    	Paper paper = Model.of( paperRepo.findById(paperId));
         question.setOrgId(user.getRootOrgId().toString());
         question.setCourse(paper.getCourse());
         question.setCourseNo(paper.getCourse().getCode());//必须设置,因为部分方法需要courseNo作为查询条件
         question = quesService.saveQues(question);
         
-        PaperDetail paperDetail = paperDetailRepo.findOne(paperDetailId);
+        PaperDetail paperDetail = Model.of(paperDetailRepo.findById(paperDetailId));
         PaperDetailUnit paperDetailUnit = new PaperDetailUnit(paper,paperDetail,question);
         PaperDetailUnit paperDetailUnit2 = paperDetailUnitService.findTopOrderByNumber(paperDetail,"DESC");
         if(paperDetailUnit2 == null){
@@ -923,7 +922,7 @@ public class PaperServiceImpl implements PaperService{
      */
     public List<String> getPaperNamesByQuestionId(String questionId) {
         List<String> paperNames = new ArrayList<String>();
-        List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByQuestion(quesRepo.findOne(questionId));
+        List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByQuestion( Model.of(quesRepo.findById(questionId)));
         for (PaperDetailUnit pdu : pdus) {
             paperNames.add(pdu.getPaper().getName());
         }
@@ -933,7 +932,7 @@ public class PaperServiceImpl implements PaperService{
 
     public Page<Question> listQuestionforSelect(String paperId,int curPage,int pageSize,QuesStructType quesType,User user,String quesBody) {
         Set<String> selectedIds = new HashSet<>();
-        Paper paper = paperRepo.findOne(paperId);
+        Paper paper =  Model.of(paperRepo.findById(paperId));
         List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
         for (PaperDetailUnit pdu : pdus) {
             selectedIds.add(pdu.getQuestion().getId());
@@ -944,8 +943,8 @@ public class PaperServiceImpl implements PaperService{
     @SuppressWarnings("unused")
 	public Paper selectQuestionsToPaper(String paperId, String paperDetailId, List<Question> questions,
     		User user) {
-        Paper paper = paperRepo.findOne(paperId);
-        PaperDetail paperDetail = paperDetailRepo.findOne(paperDetailId);
+        Paper paper =  Model.of(paperRepo.findById(paperId));
+        PaperDetail paperDetail =  Model.of(paperDetailRepo.findById(paperDetailId));
         PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findTopByPaperDetailOrderByNumberDesc(paperDetail);
         List<PaperDetailUnit> saveUnits = new ArrayList<PaperDetailUnit>();
         for (Question ques : questions) {
@@ -970,7 +969,7 @@ public class PaperServiceImpl implements PaperService{
             }
             saveUnits.add(pdu);
         }
-        paperDetailUnitRepo.save(saveUnits);
+        paperDetailUnitRepo.saveAll(saveUnits);
         if(paper.getPaperType() == PaperType.GENERATE){
         	redisClient.delete(redisPaperPrefix+":"+paper.getId());
         }
@@ -1020,7 +1019,7 @@ public class PaperServiceImpl implements PaperService{
     	Assert.hasLength(selectedPaperIds, "试卷id不能为空!");
     	String[] paperIds = selectedPaperIds.split(",");
     	for(int i = 0;i<paperIds.length;i++){
-    		Paper oldpaper = paperRepo.findOne(paperIds[i]);
+    		Paper oldpaper = Model.of( paperRepo.findById(paperIds[i]));
     		List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(oldpaper);
     		oldpaper.setId(null);
     		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1097,7 +1096,7 @@ public class PaperServiceImpl implements PaperService{
     		}
     	}
     	//根据试卷id,查询该试卷
-    	Paper paper = paperRepo.findOne(paperId);
+    	Paper paper = Model.of( paperRepo.findById(paperId));
     	//根据试卷查询所有的小题
     	List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
     	String names = "";
@@ -1179,7 +1178,7 @@ public class PaperServiceImpl implements PaperService{
      */
     public void uploadRadio(List<MultipartFile> files,String paperId,User user) throws IOException{
     	//根据试卷id,查询该试卷
-    	Paper paper = paperRepo.findOne(paperId);
+    	Paper paper =  Model.of(paperRepo.findById(paperId));
     	for(MultipartFile file: files){
     		//判断文件大小
     		long fileSize = file.getSize();
@@ -1259,7 +1258,7 @@ public class PaperServiceImpl implements PaperService{
 		QuestionAudio questionAudio = questionAudioService.findByQuestionIdAndFileName(questionId,fileName);
 		if(questionAudio != null){
 			String numbers[] = fileName.split("_");
-			Question question = quesRepo.findOne(questionAudio.getQuestionId());
+			Question question = Model.of( quesRepo.findById(questionAudio.getQuestionId()));
 			if(numbers[1].equals("1")){
 				String quesBody = question.getQuesBody();
 				if(!quesBody.contains(fileName)){
@@ -1372,7 +1371,7 @@ public class PaperServiceImpl implements PaperService{
 	@Override
 	public String sendPrint(String paperId, String orgId, String examId) {
 		//查询原paper对象
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper = Model.of( paperRepo.findById(paperId));
 		SyncCoursePaperBean bean = new SyncCoursePaperBean();
 		bean.setOrgId(Long.valueOf(orgId));
 		bean.setExamId(Long.valueOf(examId));
@@ -1481,7 +1480,7 @@ public class PaperServiceImpl implements PaperService{
 
 	@Override
 	public PaperExp getDownPaperExp(String paperId) throws Exception {
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper = Model.of( paperRepo.findById(paperId));
 		// 创建paperDto
         PaperExp paperExp = BeanCopierUtil.copyProperties(paper,PaperExp.class);
         paperExp.setCourseName(paper.getCourse().getName());
@@ -1721,7 +1720,7 @@ public class PaperServiceImpl implements PaperService{
 			difficulty = "难";
 		}
 		String needType = publicity + "-" + difficulty;
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper =  Model.of(paperRepo.findById(paperId));
 		List<PaperDetailUnit> units = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
 		if(units != null && units.size()>0){
 			int total = 0;
@@ -1762,7 +1761,7 @@ public class PaperServiceImpl implements PaperService{
 			difficulty = "难";
 		}
 		String needType = publicity + "-" + difficulty;
-		Paper paper = paperRepo.findOne(paperId);
+		Paper paper =  Model.of(paperRepo.findById(paperId));
 		List<PaperDetailUnit> units = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
 		if(units != null && units.size()>0){
 			double total = 0;

+ 4 - 3
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PropertyServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.questions.service.impl;
 import java.util.ArrayList;
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,7 +39,7 @@ public class PropertyServiceImpl implements PropertyService{
 					properties.get(j).setParentId(property.getId());
 					properties.get(j).setNumber(j+1);
 				}
-				propertyRepo.save(properties);
+				propertyRepo.saveAll(properties);
 			}
 		}
 	}
@@ -84,7 +85,7 @@ public class PropertyServiceImpl implements PropertyService{
 			property.setNumber(number+1);
 		}else{
 			//得到原来的对象
-			Property propertyOld = propertyRepo.findOne(property.getId());
+			Property propertyOld =  Model.of(propertyRepo.findById(property.getId()));
 			if(!propertyOld.getName().equals(property.getName())){
 				//检查是否重名
 				Property sameName = propertyRepo.findByOrgIdAndCoursePropertyIdAndParentIdAndName(user.getRootOrgId(), property.getCoursePropertyId(), property.getParentId(), property.getName());
@@ -106,7 +107,7 @@ public class PropertyServiceImpl implements PropertyService{
 				propertyRepo.delete(property);
 			}
 		}
-		propertyRepo.delete(propertyId);
+		propertyRepo.deleteById(propertyId);
 	}
 
 	@Override

+ 6 - 5
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuesServiceImpl.java

@@ -9,6 +9,7 @@ import java.util.regex.Pattern;
 import javax.xml.bind.JAXBElement;
 
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.dao.QuesPkgPathRepo;
 import cn.com.qmth.examcloud.core.questions.dao.entity.*;
 
@@ -333,7 +334,7 @@ public class QuesServiceImpl implements QuesService{
      * @return
      */
     public Question findById(String id) {
-        Question question = quesRepo.findOne(id);
+        Question question = Model.of( quesRepo.findById(id));
         formatQues(question);
         return question;
     }
@@ -651,7 +652,7 @@ public class QuesServiceImpl implements QuesService{
 		List<String> quesIds = new ArrayList<String>();
 		List<Question> subQues = new ArrayList<Question>();
 		for(String id:paperList){
-			Paper paper = paperRepo.findOne(id);
+			Paper paper =  Model.of(paperRepo.findById(id));
 			List<PaperDetailUnit> paperDetailUnits = unitRepo.findByPaper(paper);
 			for(PaperDetailUnit unit:paperDetailUnits){
 				Question question = unit.getQuestion();
@@ -669,7 +670,7 @@ public class QuesServiceImpl implements QuesService{
 			}
 			papers.add(paper);
 		}
-		quesRepo.save(subQues);
+		quesRepo.saveAll(subQues);
 		if(quesIds != null && quesIds.size()>0){
 			Query query = new Query();
 			query.addCriteria(Criteria.where("id").in(quesIds));
@@ -681,7 +682,7 @@ public class QuesServiceImpl implements QuesService{
 		for(Paper paper:papers){
 			paperService.formatPaper(paper, user);
 		}
-		paperRepo.save(papers);
+		paperRepo.saveAll(papers);
 	}
 
 	@Override
@@ -713,7 +714,7 @@ public class QuesServiceImpl implements QuesService{
         		}
             }
         }
-        quesRepo.save(questionList);
+        quesRepo.saveAll(questionList);
 	}
 }
 

+ 3 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionAudioServiceImpl.java

@@ -9,6 +9,7 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import main.java.com.UpYun;
 
 import org.apache.commons.lang3.StringUtils;
@@ -104,7 +105,7 @@ public class QuestionAudioServiceImpl implements QuestionAudioService{
 	@Override
 	public QuestionAudio findAudioById(String id) {
 		if(StringUtils.isNotBlank(id)){
-			return questionAudioRepo.findOne(id);
+			return  Model.of(questionAudioRepo.findById(id));
 		}
 		return null;
 	}
@@ -182,7 +183,7 @@ public class QuestionAudioServiceImpl implements QuestionAudioService{
 			UpYun upYun = new UpYun(bucketName, userName, password);
 			upYun.deleteFile(audio.getFileUrl());
 		}
-		questionAudioRepo.delete(questionAudios);
+		questionAudioRepo.deleteAll(questionAudios);
 	}
 
 }

+ 1 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionProviderServiceImpl.java

@@ -522,7 +522,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
 				}
 				questions.add(question);
 			}
-			quesRepo.save(questions);
+			quesRepo.saveAll(questions);
 			return "success";
 		}
 		return "failure";

+ 4 - 4
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/CqdxService.java

@@ -89,14 +89,14 @@ public class CqdxService {
 			}*/
 
             // 保存试题资源
-            quesPkgPathRepo.save(map2.values());
+            quesPkgPathRepo.saveAll(map2.values());
             for (Map.Entry<Question, QuestionPkgPath> entry : map2.entrySet()) {
                 entry.getKey().setQuesPkgPathId(entry.getValue().getId());
             }
-            quesRepo.save(map2.keySet());
+            quesRepo.saveAll(map2.keySet());
             paperRepo.save(paper);
-            paperDetailRepo.save(paperDetails);
-            paperDetailUnitRepo.save(paperDetailUnits);
+            paperDetailRepo.saveAll(paperDetails);
+            paperDetailUnitRepo.saveAll(paperDetailUnits);
 
             // 将正常文件移动到新目录
             /*File okFile = new File(rootDir + "/" + filePath);

+ 3 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/DdExcelService.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.examcloud.core.questions.service.temp;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
 import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.core.questions.dao.*;
@@ -97,7 +98,7 @@ public class DdExcelService {
                     }
                     long endTime = System.currentTimeMillis();
                     System.out.println("所有试题耗时耗时:" + (endTime - endPaperTime) + "ms");
-                    quesTypeRepo.save(quesTypeNames);
+                    quesTypeRepo.saveAll(quesTypeNames);
                     long ends = System.currentTimeMillis();
                     System.out.println("第" + i + "个课程保存所有来源大题耗时:" + (ends - endTime) + "ms");
                 }
@@ -573,7 +574,7 @@ public class DdExcelService {
             System.out.println("去重后的试卷数量:" + ids.size());
             //循环去重后的试卷
             for (String id : ids) {
-                Paper basePaper = paperRepo.findOne(id);
+                Paper basePaper = Model.of(paperRepo.findById(id));
                 //根据试卷查询所有小题
                 List<PaperDetailUnit> allPaperDetailUnits = paperDetailUnitRepo.findByPaper(basePaper);
                 //循环所有小题,寻找主观题

+ 3 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/UpdatePaperStruct.java

@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.questions.service.temp;
 import java.util.ArrayList;
 import java.util.List;
 
+import cn.com.qmth.examcloud.core.questions.base.Model;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -37,7 +38,7 @@ public class UpdatePaperStruct {
         /*query.addCriteria(Criteria.where("orgId").is(orgId));
         query.addCriteria(Criteria.where("type").is("EXACT"));
         List<PaperStruct> paperStructList = this.mongoTemplate.find(query, PaperStruct.class);*/
-		PaperStruct paSruct = paperStructRepo.findOne("5a03ca4e57853f6b94c8e526");
+		PaperStruct paSruct = Model.of(paperStructRepo.findById("5a03ca4e57853f6b94c8e526"));
 		List<PaperStruct> paperStructList = new ArrayList<PaperStruct>();
 		paperStructList.add(paSruct);
         int i = 0;
@@ -67,7 +68,7 @@ public class UpdatePaperStruct {
         	}
         }
         System.out.println("更新精确试卷结构的数量为:"+ i + "------个");
-        paperStructRepo.save(paperStructList);
+        paperStructRepo.saveAll(paperStructList);
         System.out.println("更新成功!----");
 	}