xiatian преди 2 години
родител
ревизия
692b24f669

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

@@ -4,9 +4,13 @@ import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.questions.api.PaperCloudService;
 import cn.com.qmth.examcloud.core.questions.api.request.GetExtractConfigReq;
 import cn.com.qmth.examcloud.core.questions.api.request.GetQuestionListReq;
+import cn.com.qmth.examcloud.core.questions.api.request.GetRandomPaperReq;
 import cn.com.qmth.examcloud.core.questions.api.response.GetCommonResp;
 import cn.com.qmth.examcloud.core.questions.api.response.GetPaperResp;
+import cn.com.qmth.examcloud.core.questions.api.response.GetRandomPaperResp;
 import cn.com.qmth.examcloud.core.questions.service.PaperProviderService;
+import cn.com.qmth.examcloud.core.questions.service.RandomPaperService;
+import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,7 +36,10 @@ public class PaperCloudServiceProvider implements PaperCloudService {
     private static final long serialVersionUID = -7354673848303599874L;
 
     @Autowired
-    PaperProviderService paperProviderService;
+    private PaperProviderService paperProviderService;
+    
+    @Autowired
+    private RandomPaperService randomPaperService;
 
     @ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
     @PostMapping("/genPaper")
@@ -70,4 +77,17 @@ public class PaperCloudServiceProvider implements PaperCloudService {
         return resp;
     }
 
+    @ApiOperation("随机抽卷")
+    @PostMapping("randompaper")
+    @Override
+	public GetRandomPaperResp getRandomPaper(@RequestBody GetRandomPaperReq req) {
+    	if (StringUtils.isBlank(req.getRandomPaperId())) {
+            throw new StatusException("RandomPaperId is null");
+        }
+    	GetRandomPaperResp res=new GetRandomPaperResp();
+    	DefaultPaper defaultPaper=randomPaperService.getRandomPaper(req.getRandomPaperId());
+    	res.setDefaultPaper(defaultPaper);
+		return res;
+	}
+
 }

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

@@ -9,6 +9,7 @@ import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaper
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperListVo;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperQuery;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructInfo;
+import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 
 public interface RandomPaperService {
 
@@ -24,5 +25,7 @@ public interface RandomPaperService {
 
 	RandomPaperListVo getInfo(String id);
 
+	DefaultPaper getRandomPaper(String randomPaperId);
+
 
 }

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

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.questions.service.cache;
 
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.questions.service.ExtractConfigProviderService;
+import cn.com.qmth.examcloud.support.CacheConstants;
 import cn.com.qmth.examcloud.support.cache.bean.ExtractConfigCacheBean;
 import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
 import org.apache.commons.lang3.StringUtils;
@@ -31,7 +32,7 @@ public class ExtractConfigCache extends RandomObjectRedisCache<ExtractConfigCach
 
     @Override
     protected String getKeyPrefix() {
-        return "Q_EXTRACT_CONFIG:";
+        return CacheConstants.CACHE_Q_EXTRACT_CONFIG;
     }
 
     @Override

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

@@ -91,6 +91,7 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
         cacheBean.setId(extractConfig.getId());
         cacheBean.setExamId(examId);
         cacheBean.setCourseCode(courseCode);
+        cacheBean.setRandomPaperId(extractConfig.getRandomPaperId());
         cacheBean.setSortQuestionOrder(extractConfig.getScrambling_the_question_order() != 0);
         cacheBean.setSortOptionOrder(extractConfig.getScrambling_the_option_order() != 0);
 

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

@@ -54,6 +54,7 @@ import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructInfo;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructQuestionCheckDto;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructQuestionCountInfo;
 import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructQuestionInfo;
+import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 import cn.com.qmth.examcloud.support.cache.CacheHelper;
 import cn.com.qmth.examcloud.support.cache.bean.CourseCacheBean;
 
@@ -709,4 +710,10 @@ public class RandomPaperServiceImpl implements RandomPaperService {
 		return vo;
 	}
 
+	@Override
+	public DefaultPaper getRandomPaper(String randomPaperId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
 }