Procházet zdrojové kódy

简易组卷按题目bug修改

weiwenhai před 7 roky
rodič
revize
fc90492039

+ 12 - 1
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/service/core/api/GenPaperController.java

@@ -52,7 +52,18 @@ public class GenPaperController extends ControllerSupport {
         String paperName = genPaperDto.getPaperName();
         try {
         	//判断试卷名称是否一样
-			boolean result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
+        	boolean result = false;
+        	if(genPaperDto.getGenNumber() > 1){
+        		for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
+					genPaperDto.setPaperName(paperName + "_" + i);
+					result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
+					if(!result){
+						paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
+			            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+					}
+				}
+        	}
+        	result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
 			if(!result){
 				paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
 	            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);

+ 1 - 1
examcloud-core-questions-base/src/main/java/cn/com/qmth/examcloud/core/questions/base/CommonUtils.java

@@ -721,7 +721,7 @@ public final class CommonUtils {
     public static List<Integer> getTandom(List<Integer> list,int size,int original){
     	Random rand = new Random();
 		Integer i = rand.nextInt(original);
-		if(!list.contains(i) && i<size){
+		if(!list.contains(i) && i<original){
 			list.add(i);
 			if(list.size() == size){
 				return list;

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

@@ -1024,12 +1024,17 @@ public class PaperServiceImpl implements PaperService{
      */
     public boolean checkPaperName(String paperName, PaperType paperType,String orgId)throws Exception{
         Paper paperTemp = new Paper();
-        paperTemp.setCreateTime(null);
-        paperTemp.setName(paperName.trim());
-        paperTemp.setOrgId(orgId);
-        paperTemp.setPaperType(paperType);
-        Paper paper = paperRepo.findOne(Example.of(paperTemp));
-        if(paper!=null){
+        //paperTemp.setCreateTime(null);
+        //paperTemp.setName(paperName.trim());
+        //paperTemp.setOrgId(orgId);
+        //paperTemp.setPaperType(paperType);
+        //Paper paper = paperRepo.findOne(Example.of(paperTemp));
+        Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(orgId));
+        query.addCriteria(Criteria.where("name").is(paperName.trim()));
+        query.addCriteria(Criteria.where("paperType").is(paperType));
+        List<Paper> papers = this.mongoTemplate.find(query, Paper.class);
+        if(papers !=null && papers.size()>0){
         	return false;
         }
         return true;