Selaa lähdekoodia

提交后端bug

weiwenhai 6 vuotta sitten
vanhempi
commit
ec33f60d55

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

@@ -17,10 +17,12 @@ import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.questions.api.bean.PaperK12Bean;
 import cn.com.qmth.examcloud.core.questions.api.request.GetDefaultQuesionsReq;
+import cn.com.qmth.examcloud.core.questions.api.request.GetPaperReq;
 import cn.com.qmth.examcloud.core.questions.api.request.GetQuestionListReq;
 import cn.com.qmth.examcloud.core.questions.api.response.GetPaperResp;
 import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
 import cn.com.qmth.examcloud.core.questions.service.PaperProviderService;
+import cn.com.qmth.examcloud.question.core.paper.DefaultPaper;
 
 /**
  * @author 		weiwenhai
@@ -48,5 +50,15 @@ public class DefaultPaperController extends ControllerSupport {
 		return new ResponseEntity<Object>(paperId,HttpStatus.OK);
 	}
 	
+	@ApiOperation(value = "外部接口查询试卷", notes = "外部接口查询试卷")
+    @PostMapping("/findPaper")
+	public ResponseEntity<Object> findPaper(@RequestBody GetPaperReq req){
+		String paperId  = req.getPaperId();
+		if(null == paperId){
+			throw new StatusException("Q-016057", "paperId is null");
+		}
+		DefaultPaper defaultPaper = paperProviderService.findPaper(paperId);
+		return new ResponseEntity<Object>(defaultPaper,HttpStatus.OK);
+	}
 	
 }

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

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.questions.api.controller;
 
 import io.swagger.annotations.ApiOperation;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.http.HttpStatus;
@@ -17,6 +18,7 @@ import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.questions.api.request.GetDefaultQuesionReq;
 import cn.com.qmth.examcloud.core.questions.api.request.GetDefaultQuesionsReq;
+import cn.com.qmth.examcloud.core.questions.api.request.GetQuestionReq;
 import cn.com.qmth.examcloud.core.questions.service.QuestionProviderService;
 import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
 
@@ -78,4 +80,15 @@ public class DefaultQuesionController extends ControllerSupport {
 		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId,req.getProperties(),req.getCurPage(),req.getPageSize());
 		return new ResponseEntity<Object>(defaultQuestions,HttpStatus.OK);
 	}
+	
+	@ApiOperation(value = "查询试题")
+	@PostMapping("/find_question")
+	public ResponseEntity<Object> find(@RequestBody GetQuestionReq req) {
+		String questionId = req.getQuestionId();
+		if(StringUtils.isBlank(questionId)){
+			throw new StatusException("Q-011089", "questionId is null");
+		}
+		DefaultQuestion defaultQuestion = questionProviderService.findQuestion(questionId);
+		return new ResponseEntity<Object>(defaultQuestion,HttpStatus.OK);
+	}
 }

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

@@ -5,6 +5,7 @@ import java.util.Set;
 
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.api.bean.PaperK12Bean;
+import cn.com.qmth.examcloud.question.core.paper.DefaultPaper;
 
 /**
  * @author 		weiwenhai
@@ -21,4 +22,11 @@ public interface PaperProviderService {
 	 */
 	public String genPaper(Set<String> questionIds,Map<String, PaperK12Bean> map,String paperName,User user);
 	
+	/**
+	 * 根据试卷id查询试卷
+	 * @param paperId
+	 * @return
+	 */
+	public DefaultPaper findPaper(String paperId);
+	
 }

+ 7 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/QuestionProviderService.java

@@ -36,4 +36,11 @@ public interface QuestionProviderService {
 	 */
 	public String saveList(List<DefaultQuestion> defaultQuestions);
 	
+	/**
+	 * 查询试题对象
+	 * @param questionId
+	 * @return
+	 */
+	public DefaultQuestion findQuestion(String questionId);
+	
 }

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

@@ -113,7 +113,12 @@ public class ExtractConfigFileServiceImpl implements ExtractConfigFileService {
 
     @Override
     public void saveExtractConfigAndBuildPaperFile(ExtractConfig extractConfig, Integer isbuildFile, User user) throws Exception {
-        //查询试卷导出设置
+        //先查询
+    	ExtractConfig tempConfig = extractConfigService.findConfig(extractConfig);
+    	if(tempConfig != null){
+    		extractConfig = tempConfig;
+    	}
+    	//查询试卷导出设置
         ExportStructure exportStructure = null;
         if (isbuildFile == 1) {
             exportStructure = exportStructureService.findStructureByExamId(extractConfig.getExamId() + "");

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

@@ -201,7 +201,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 	 * @param basePaper
 	 * @return
 	 */
-	private DefaultPaper buildDefaultByBasePaper(Paper basePaper,String examId,String courseCode,String groupCode){
+	public DefaultPaper buildDefaultByBasePaper(Paper basePaper,String examId,String courseCode,String groupCode){
 		log.debug("开始包装网考需要的试卷结构...");
 		long beginTime = System.currentTimeMillis();
 		//获取大题

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

@@ -17,18 +17,17 @@ import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.api.bean.PaperK12Bean;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
-import cn.com.qmth.examcloud.core.questions.base.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
 import cn.com.qmth.examcloud.core.questions.dao.PaperDetailRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperDetailUnitRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperRepo;
 import cn.com.qmth.examcloud.core.questions.dao.QuesRepo;
-import cn.com.qmth.examcloud.core.questions.dao.entity.Course;
 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.PaperDetailUnit;
 import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
 import cn.com.qmth.examcloud.core.questions.service.PaperProviderService;
+import cn.com.qmth.examcloud.question.core.paper.DefaultPaper;
 
 /**
  * @author 		weiwenhai
@@ -53,6 +52,9 @@ public class PaperProviderServiceImpl implements PaperProviderService{
     
     @Autowired
     PaperDetailUnitRepo paperDetailUnitRepo;
+    
+    @Autowired
+    ExtractConfigProviderServiceImpl extractConfigProviderServiceImpl;
 	
 	@Override
 	public String genPaper(Set<String> questionIds,Map<String, PaperK12Bean> map,String paperName,User user) {
@@ -151,4 +153,14 @@ public class PaperProviderServiceImpl implements PaperProviderService{
 		return paperDetailUnits;
 	}
 
+	@Override
+	public DefaultPaper findPaper(String paperId) {
+		Paper basePaper = paperRepo.findOne(paperId);
+		if(basePaper == null){
+			throw new StatusException("Q-014160", "basePaper is null");
+		}
+		DefaultPaper defaultPaper = extractConfigProviderServiceImpl.buildDefaultByBasePaper(basePaper, null, null, null);
+		return defaultPaper;
+	}
+
 }

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

@@ -507,4 +507,14 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
 		}
 		return "failure";
 	}
+
+	@Override
+	public DefaultQuestion findQuestion(String questionId) {
+		Question question = quesRepo.findOne(questionId);
+		if(question == null){
+			throw new StatusException("Q-012515", "question is null");
+		}
+		DefaultQuestion defaultQuestion = getDefaultQuestion(question);
+		return defaultQuestion;
+	}
 }