Ver Fonte

K12接口编写

weiwenhai há 6 anos atrás
pai
commit
2fdfaad1b8

+ 18 - 0
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultPaperController.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.examcloud.core.questions.api.controller;
 
 import java.util.List;
+import java.util.Set;
 
 import io.swagger.annotations.ApiOperation;
 
@@ -79,4 +80,21 @@ public class DefaultPaperController extends ControllerSupport {
 		return new ResponseEntity<Object>(defaultPaper,HttpStatus.OK);
 	}
 	
+	@ApiOperation(value = "外部接口组卷并绑定考卷", notes = "外部接口组卷并绑定考卷")
+	@PostMapping("/genAndExamPaper")
+	public ResponseEntity<Object> genPaperAndExamPaper(@RequestBody GetExtractConfigReq req){
+		String rootOrgId = req.getRootOrgId();
+		if(StringUtils.isBlank(rootOrgId)){
+			throw new StatusException("Q-016087", "rootOrgId is null");
+		}
+		Long examId = req.getExamId();
+		if(null == examId){
+			throw new StatusException("Q-016091", "examId is null");
+		}
+		//组卷
+		String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getPaperName(), req.getRootOrgId(), req.getUserName());
+	    paperProviderService.examPaper(req.getRootOrgId(), paperId, req.getExamId());
+		return new ResponseEntity<Object>(HttpStatus.OK);
+	}
+	
 }

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

@@ -68,7 +68,7 @@ public class PaperCloudServiceProvider implements PaperCloudService{
 		if(StringUtils.isBlank(req.getExamId()+"")){
 			throw new StatusException("Q-017069", "examId is null");
 		}
-		String extractConfigId = paperProviderService.examPaper(req.getRootOrgId(), req.getPaperId(), req.getExamId(), req.getExtractConfigId());
+		String extractConfigId = paperProviderService.examPaper(req.getRootOrgId(), req.getPaperId(), req.getExamId());
 		GetCommonResp resp = new GetCommonResp();
 		resp.setMessage(extractConfigId);
 		return resp;

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

@@ -32,7 +32,7 @@ public interface PaperProviderService {
 	 * 制定考试试卷
 	 * @return
 	 */
-	public String examPaper(String orgId, String paperId, Long examId, String extractConfigId);
+	public String examPaper(String orgId, String paperId, Long examId);
 	
 	
 	/**

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

@@ -153,9 +153,10 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 			paperDetailUnit.setCreator(paper.getCreator());
 			paperDetailUnit.setPaper(paper);
 			paperDetailUnit.setPaperType(PaperType.GENERATE);
-			if(!StringUtils.isBlank(map.get(questions.get(i).getId()).getScore()+"")){
-				paperDetailUnit.setScore(map.get(questions.get(i).getId()).getScore());
+			if(StringUtils.isBlank(map.get(questions.get(i).getId()).getScore()+"")){
+				throw new StatusException("Q-014157", questions.get(i).getId() + "分数未设置");
 			}
+			paperDetailUnit.setScore(map.get(questions.get(i).getId()).getScore());
 			if(!StringUtils.isBlank(map.get(questions.get(i).getId()).getTimeLimit()+"")){
 				paperDetailUnit.setTimeLimit(map.get(questions.get(i).getId()).getTimeLimit());
 			}
@@ -184,57 +185,43 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 	}
 
 	@Override
-	public String examPaper(String orgId, String paperId, Long examId, String extractConfigId) {
-		if(StringUtils.isBlank(extractConfigId)){
-			ExtractConfig extractConfig = new ExtractConfig();
-			extractConfig.setExamId(examId);
-			extractConfig.setCourseCode("K12");
-			extractConfig.setOrgId(orgId);
-			ExtractConfig tempConfig = extractConfigService.findConfig(extractConfig);
-			if(tempConfig != null){
-	    		throw new StatusException("Q-014195", "考卷关联对象已经生成!");
-	    	}else {
-	    		//查询试卷对象
-	    		Paper paper = paperRepo.findOne(paperId);
-	    		//初始化默认课程
-	    		Course course = new Course();
-	    		course.setId("k12");
-	    		course.setCode("k12");
-	    		course.setName("k12");
-	    		course.setLevel("ALL");
-	    		course.setOrgId(orgId);
-	    		course.setCreateTime(CommonUtils.getCurDateTime());
-	    		course.setEnable("true");
-	    		extractConfig.setCourse(course);
-	    		extractConfig.setIfFinish((short)0);
-	    		ExamPaper examPaper = new ExamPaper();
-	    		examPaper.setId(null);
-	    		examPaper.setGroupCode("K");
-	    		examPaper.setWeight(100);
-	    		examPaper.setPaper(paper);
-	    		List<ExamPaper> examPaperList = new ArrayList<ExamPaper>();
-	    		examPaperList.add(examPaper);
-	    		extractConfig.setExamPaperList(examPaperList);
-	    		extractConfig.setScrambling_the_option_order((short)0);
-	    		extractConfig.setScrambling_the_question_order((short)0);
-			}
-			extractConfig = extractConfigRepo.save(extractConfig);
-			return extractConfig.getId();
-		}else {
-			ExtractConfig extractConfig = extractConfigRepo.findOne(extractConfigId);
-			if(extractConfig == null){
-				throw new StatusException("Q-Q-014225", "考卷关联对象不存在");
-			}
-			List<ExamPaper> examPaperList = extractConfig.getExamPaperList();
-			if(examPaperList != null && examPaperList.size()>0){
-				ExamPaper examPaper = examPaperList.get(0);
-				//查询试卷对象
-	    		Paper paper = paperRepo.findOne(paperId);
-				examPaper.setPaper(paper);
-			}
-			extractConfigRepo.save(extractConfig);
-			return extractConfig.getId();
+	public String examPaper(String orgId, String paperId, Long examId) {
+		ExtractConfig extractConfig = new ExtractConfig();
+		extractConfig.setExamId(examId);
+		extractConfig.setCourseCode("K12");
+		extractConfig.setOrgId(orgId);
+		ExtractConfig tempConfig = extractConfigService.findConfig(extractConfig);
+		if(tempConfig != null){
+			extractConfigRepo.delete(tempConfig);
+    	}
+		//查询试卷对象
+		Paper paper = paperRepo.findOne(paperId);
+		if(paper == null){
+			throw new StatusException("Q-014200", "paper is null");
 		}
+		//初始化默认课程
+		Course course = new Course();
+		course.setId("k12");
+		course.setCode("k12");
+		course.setName("k12");
+		course.setLevel("ALL");
+		course.setOrgId(orgId);
+		course.setCreateTime(CommonUtils.getCurDateTime());
+		course.setEnable("true");
+		extractConfig.setCourse(course);
+		extractConfig.setIfFinish((short)0);
+		ExamPaper examPaper = new ExamPaper();
+		examPaper.setId(null);
+		examPaper.setGroupCode("K");
+		examPaper.setWeight(100);
+		examPaper.setPaper(paper);
+		List<ExamPaper> examPaperList = new ArrayList<ExamPaper>();
+		examPaperList.add(examPaper);
+		extractConfig.setExamPaperList(examPaperList);
+		extractConfig.setScrambling_the_option_order((short)0);
+		extractConfig.setScrambling_the_question_order((short)0);
+		extractConfig = extractConfigRepo.save(extractConfig);
+		return extractConfig.getId();
 	}
 
 	@Override