xiatian 2 år sedan
förälder
incheckning
57bd765c1e
11 ändrade filer med 96 tillägg och 38 borttagningar
  1. 4 7
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportDdCollegePaperService.java
  2. 2 5
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportPaperFromJsonService.java
  3. 3 3
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportPaperService.java
  4. 14 5
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/context/DetailContext.java
  5. 12 7
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/context/PaperContext.java
  6. 5 4
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/context/UnitContext.java
  7. 26 0
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/randompaper/PaperVo.java
  8. 12 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/randompaper/RandomPaperListVo.java
  9. 2 2
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java
  10. 13 0
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/RandomPaperServiceImpl.java
  11. 3 3
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/CqdxService.java

+ 4 - 7
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportDdCollegePaperService.java

@@ -18,9 +18,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.bson.types.ObjectId;
 import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -30,7 +29,6 @@ import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.commons.util.Calculator;
 import cn.com.qmth.examcloud.commons.util.JsonUtil;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
 import cn.com.qmth.examcloud.core.questions.base.converter.utils.FileUtil;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
@@ -60,7 +58,6 @@ import cn.com.qmth.examcloud.web.config.SystemProperties;
 @Service
 public class ImportDdCollegePaperService {
 
-    private static final Logger log = LoggerFactory.getLogger(ImportDdCollegePaperService.class);
 
     @Autowired
     private PaperRepo paperRepo;
@@ -397,7 +394,7 @@ public class ImportDdCollegePaperService {
                     TestQuestionInfo testQuestionInfo2 = JsonUtil.fromJson(testQuestion2.getJson(),
                             TestQuestionInfo.class);
                     Question subQuestion = new Question();
-                    subQuestion.setId(IdUtils.uuid());
+                    subQuestion.setId(new ObjectId().toString());
                     subQuestion.setDifficulty("中");
                     subQuestion.setDifficultyDegree(0.5);
                     subQuestion.setPublicity(true);
@@ -790,7 +787,7 @@ public class ImportDdCollegePaperService {
             List<TestFillAnswer> blanks = testQuestionInfo.getBlanks();
             for (TestFillAnswer testFillAnswer : blanks) {
                 Question subQuestion = new Question();
-                subQuestion.setId(IdUtils.uuid());
+                subQuestion.setId(new ObjectId().toString());
                 subQuestion.setQuestionType(QuesStructType.SINGLE_ANSWER_QUESTION);
                 subQuestion.setDifficulty("中");
                 subQuestion.setDifficultyDegree(0.5);
@@ -886,7 +883,7 @@ public class ImportDdCollegePaperService {
         if (blanks != null && blanks.size() > 0) {
             for (TestFillAnswer testFillAnswer : blanks) {
                 Question question = new Question();
-                question.setId(IdUtils.uuid());
+                question.setId(new ObjectId().toString());
                 question.setQuestionType(QuesStructType.SINGLE_ANSWER_QUESTION);
                 question.setDifficulty("中");
                 question.setDifficultyDegree(0.5);

+ 2 - 5
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ImportPaperFromJsonService.java

@@ -16,8 +16,7 @@ import java.util.stream.Stream;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.bson.types.ObjectId;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
 import org.springframework.stereotype.Service;
@@ -27,7 +26,6 @@ import com.google.gson.reflect.TypeToken;
 
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
 import cn.com.qmth.examcloud.core.questions.base.converter.utils.FileUtil;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
@@ -58,7 +56,6 @@ import cn.com.qmth.examcloud.core.questions.service.impl.CourseService;
 @Service
 public class ImportPaperFromJsonService {
 
-    private static final Logger log = LoggerFactory.getLogger(ImportPaperFromJsonService.class);
 
     @Autowired
     private PaperRepo paperRepo;
@@ -1203,7 +1200,7 @@ public class ImportPaperFromJsonService {
                     throw new PaperException(importPaperCheck.getErrorInfo());
                 }
                 subQues = new Question();
-                subQues.setId(IdUtils.uuid());
+                subQues.setId(new ObjectId().toString());
                 subQues.setQuestionType(getQuesStructType(nestedQuesType));
                 if (StringUtils.isNumeric(importPaperCheck.getQuesScore())) {
                     subQues.setScore(Double.parseDouble(importPaperCheck.getQuesScore()));

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

@@ -24,6 +24,7 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.bson.types.ObjectId;
 import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
 import org.docx4j.wml.P;
 import org.slf4j.Logger;
@@ -39,7 +40,6 @@ import cn.com.qmth.examcloud.api.commons.security.bean.UserDataRule;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 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.IdUtils;
 import cn.com.qmth.examcloud.core.questions.base.IoUtils;
 import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStatus;
@@ -1349,7 +1349,7 @@ public class ImportPaperService {
                     throw new PaperException(importPaperCheck.getErrorInfo());
                 }
                 subQues = new Question();
-                subQues.setId(IdUtils.uuid());
+                subQues.setId(new ObjectId().toString());
                 subQues.setQuestionType(getQuesStructType(nestedQuesType));
                 if (StringUtils.isNumeric(importPaperCheck.getQuesScore())) {
                     subQues.setScore(Double.parseDouble(importPaperCheck.getQuesScore()));
@@ -1579,7 +1579,7 @@ public class ImportPaperService {
         paper.setCourseNo(courseNo);
         initPaper(paper, paperName, user);
         PaperDetail pd = new PaperDetail();
-        pd.setId(IdUtils.uuid());
+        pd.setId(new ObjectId().toString());
         pd.setNumber(1);
         pd.setPaper(paper);
         pd.setCreator(user.getDisplayName());

+ 14 - 5
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/context/DetailContext.java

@@ -1,10 +1,19 @@
 package cn.com.qmth.examcloud.core.questions.service.bean.context;
 
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
-import cn.com.qmth.examcloud.core.questions.dao.entity.*;
-import cn.com.qmth.examcloud.core.questions.service.bean.condition.Condition;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.bson.types.ObjectId;
 
-import java.util.*;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetail;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailStruct;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnit;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnitStruct;
+import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
+import cn.com.qmth.examcloud.core.questions.service.bean.condition.Condition;
 
 public class DetailContext extends Context {
 
@@ -41,7 +50,7 @@ public class DetailContext extends Context {
         Map<PaperDetail, List<PaperDetailUnit>> detailMap = new HashMap<>();
         PaperDetail pd = new PaperDetail();
         List<PaperDetailUnit> unitList = new ArrayList<>();
-        pd.setId(IdUtils.uuid());
+        pd.setId(new ObjectId().toString());
         for (int i = 0; i < units.size(); i++) {
             UnitContext uc = units.get(i);
             PaperDetailUnit pdu = uc.build(uc.getUnitStruct());

+ 12 - 7
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/context/PaperContext.java

@@ -1,16 +1,21 @@
 package cn.com.qmth.examcloud.core.questions.service.bean.context;
 
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
-import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
-import cn.com.qmth.examcloud.core.questions.dao.entity.*;
-import cn.com.qmth.examcloud.core.questions.service.bean.condition.Condition;
-import cn.com.qmth.examcloud.core.questions.service.util.PaperUtil;
-
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
+import org.bson.types.ObjectId;
+
+import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
+import cn.com.qmth.examcloud.core.questions.dao.entity.Paper;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetail;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailStruct;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnit;
+import cn.com.qmth.examcloud.core.questions.dao.entity.PaperStruct;
+import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
+import cn.com.qmth.examcloud.core.questions.service.bean.condition.Condition;
+
 public class PaperContext extends Context {
 
     private PaperStruct paperStruct;
@@ -37,7 +42,7 @@ public class PaperContext extends Context {
     public List<Object> build(PaperStruct paperStruct) {
         List<Object> list = new ArrayList<>();
         Paper paper = new Paper();
-        paper.setId(IdUtils.uuid());
+        paper.setId(new ObjectId().toString());
         paper.setPaperDetailCount(details.size());
         paper.setTotalScore(paperStruct.getTotalScore());
         paper.setPaperType(PaperType.GENERATE);

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

@@ -1,14 +1,15 @@
 package cn.com.qmth.examcloud.core.questions.service.bean.context;
 
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
+import java.util.List;
+
+import org.bson.types.ObjectId;
+
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
 import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnit;
 import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnitStruct;
 import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
 import cn.com.qmth.examcloud.core.questions.service.bean.condition.Condition;
 
-import java.util.List;
-
 public class UnitContext extends Context {
 
     private DetailContext detailContext;
@@ -37,7 +38,7 @@ public class UnitContext extends Context {
 
     public PaperDetailUnit build(PaperDetailUnitStruct unitStruct) {
         PaperDetailUnit pdu = new PaperDetailUnit();
-        pdu.setId(IdUtils.uuid());
+        pdu.setId(new ObjectId().toString());
         pdu.setQuestionType(unitStruct.getQuestionType());
         pdu.setScore(unitStruct.getScore());
         pdu.setNumber(unitStruct.getNumber());

+ 26 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/randompaper/PaperVo.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.core.questions.service.bean.randompaper;
+
+public class PaperVo {
+	private String id;
+	private String name;
+	private String unitCount;
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getUnitCount() {
+		return unitCount;
+	}
+	public void setUnitCount(String unitCount) {
+		this.unitCount = unitCount;
+	}
+	
+}

+ 12 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/bean/randompaper/RandomPaperListVo.java

@@ -23,7 +23,7 @@ public class RandomPaperListVo {
 	private PaperStructType paperStructType;
 	@ApiModelProperty("组卷类型")
 	private String paperStructTypeStr;
-	
+
 	@ApiModelProperty("组卷结构id")
 	private String paperStructId;
 
@@ -37,9 +37,11 @@ public class RandomPaperListVo {
 	@ApiModelProperty("操作人")
 	private String updateByName;
 	private Long updateBy;
-	
+
 	private PaperType paperType;
 
+	private List<PaperVo> papers;
+	
 	private List<String> paperIds;
 
 	public String getId() {
@@ -162,6 +164,14 @@ public class RandomPaperListVo {
 		this.paperType = paperType;
 	}
 
+	public List<PaperVo> getPapers() {
+		return papers;
+	}
+
+	public void setPapers(List<PaperVo> papers) {
+		this.papers = papers;
+	}
+
 	public List<String> getPaperIds() {
 		return paperIds;
 	}

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

@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.bson.types.ObjectId;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,7 +21,6 @@ import org.springframework.stereotype.Service;
 
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
 import cn.com.qmth.examcloud.core.questions.base.Model;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStructType;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
@@ -915,7 +915,7 @@ public class GenPaperService {
                 BigDecimal b2 = BigDecimal.valueOf(pd.getScore() == null ? 0d : pd.getScore());
                 b1 = b1.add(b2);
             }
-            paper.setId(IdUtils.uuid());
+            paper.setId(new ObjectId().toString());
             paper.setName(genPaperDto.getPaperName());
             paper.setCourseNo(genPaperDto.getCourseNo());
             paper.setCourseName(genPaperDto.getCourseName());

+ 13 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/RandomPaperServiceImpl.java

@@ -53,6 +53,7 @@ import cn.com.qmth.examcloud.core.questions.service.RandomPaperService;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.CreateDefaultPaperParam;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.PaperDetailUnitDto;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.PaperQuestionViewQuery;
+import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.PaperVo;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.QuestionDto;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperDomain;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperListVo;
@@ -816,6 +817,18 @@ public class RandomPaperServiceImpl implements RandomPaperService {
 		ureq.setUserId(vo.getUpdateBy());
 		GetUserResp ures = userCloudService.getUser(ureq);
 		vo.setUpdateByName(ures.getUserBean().getDisplayName());
+		Query query = new Query();
+		List<Object> ids=new ArrayList<>();
+		for(String pid:vo.getPaperIds()) {
+			if(pid.length()>24) {
+				ids.add(pid);
+			}else {
+				ids.add(new ObjectId(pid));
+			}
+		}
+        query.addCriteria(Criteria.where("id").in(ids));
+		List<PaperVo> papers = this.mongoTemplate.find(query, PaperVo.class, "paper");
+		vo.setPapers(papers);
 		return vo;
 	}
 

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

@@ -13,9 +13,9 @@ import java.util.regex.Pattern;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import cn.com.qmth.examcloud.web.config.SystemProperties;
 import org.apache.commons.collections4.map.HashedMap;
 import org.apache.commons.lang3.StringUtils;
+import org.bson.types.ObjectId;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +29,6 @@ import org.w3c.dom.NodeList;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
-import cn.com.qmth.examcloud.core.questions.base.IdUtils;
 import cn.com.qmth.examcloud.core.questions.base.converter.utils.FileUtil;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
@@ -46,6 +45,7 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.QuesOption;
 import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
 import cn.com.qmth.examcloud.core.questions.service.QuesTypeNameService;
 import cn.com.qmth.examcloud.core.questions.service.impl.CourseService;
+import cn.com.qmth.examcloud.web.config.SystemProperties;
 
 @Component
 public class CqdxService {
@@ -537,7 +537,7 @@ public class CqdxService {
 					for (int s = 0; s < subQuesCount; s++) {
 						QuestionsTemp subQuesTmp = (QuestionsTemp) quesTemp.getSubQues().get(String.valueOf(s + 1));
 						Question subQuestion = new Question();
-						subQuestion.setId(IdUtils.uuid());
+						subQuestion.setId(new ObjectId().toString());
 						subQuestion.setQuestionType(subQuesTmp.getType());
 						subQuestion.setDifficulty("中");
 						subQuestion.setDifficultyDegree(0.5);