Bladeren bron

exchange添加获取试题答案接口

lideyin 5 jaren geleden
bovenliggende
commit
7c84dc58ef

+ 26 - 2
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamQuestionOuterServiceProvider.java

@@ -9,8 +9,10 @@ import cn.com.qmth.examcloud.core.oe.admin.api.request.GetPagedToBeMarkExamRecor
 import cn.com.qmth.examcloud.core.oe.admin.api.response.GetPagedToBeMarkExamRecordResp;
 import cn.com.qmth.examcloud.exchange.outer.api.ExamQuestionOuterService;
 import cn.com.qmth.examcloud.exchange.outer.api.bean.*;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetQuestionAnswerReq;
 import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetSubjectivePaperStructReq;
 import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetSubjectiveQuestionReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetQuestionAnswerResp;
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetScoreQueueTopResp;
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetSubjectivePaperStructResp;
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetSubjectiveQuestionResp;
@@ -19,6 +21,8 @@ import cn.com.qmth.examcloud.exchange.outer.service.bean.OuterCourseBean;
 import cn.com.qmth.examcloud.exchange.outer.service.bean.OuterQuestionBean;
 import cn.com.qmth.examcloud.question.commons.core.question.AnswerType;
 import cn.com.qmth.examcloud.question.commons.core.question.QuestionType;
+import cn.com.qmth.examcloud.support.cache.CacheHelper;
+import cn.com.qmth.examcloud.support.cache.bean.QuestionAnswerCacheBean;
 import cn.com.qmth.examcloud.support.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.StatusResponse;
@@ -67,7 +71,7 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
 
     @Override
     @ApiOperation(value = "获取主观题试卷结构", httpMethod = "POST")
-    @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetScoreQueueTopResp.class),
+    @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetSubjectivePaperStructResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getSubjectivePaperStruct")
     public OuterGetSubjectivePaperStructResp getSubjectivePaperStruct(@RequestBody OuterGetSubjectivePaperStructReq req) {
@@ -118,7 +122,7 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
     }
 
     @ApiOperation(value = "获取主观题作答结果", httpMethod = "POST")
-    @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetScoreQueueTopResp.class),
+    @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetSubjectiveQuestionResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getSubjectiveQuestion")
     @Override
@@ -161,6 +165,25 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
         return resp;
     }
 
+    @ApiOperation(value = "获取题目答案", httpMethod = "POST")
+    @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetQuestionAnswerResp.class),
+            @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
+    @PostMapping("/getQuestionAnswer")
+    @Override
+    public OuterGetQuestionAnswerResp getQuestionAnswer(@RequestBody OuterGetQuestionAnswerReq req) {
+        if (StringUtils.isNullOrEmpty(req.getQuestionId())) {
+            throw new StatusException("102001","题目id不允许为空");
+        }
+
+        QuestionAnswerCacheBean questionAnswer = CacheHelper.getQuestionAnswer(req.getQuestionId());
+
+        OuterGetQuestionAnswerResp resp = new OuterGetQuestionAnswerResp();
+        resp.setAnswerList(questionAnswer.getRightAnswers());
+
+        return resp;
+    }
+
+
     /**
      * 构造满足条件的考试记录集合
      *
@@ -567,4 +590,5 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
         String regExp = "^(ftp|https?)\\:\\/\\/([\\w\\_\\-]+)\\.([\\w\\-]+[\\.]?)*[\\w]+\\.[a-zA-Z]{2,10}(.*)\\.(mp3)";
         return studentAnswer.matches(regExp);
     }
+
 }

+ 25 - 17
examcloud-exchange-outer-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamQuestionOuterService.java

@@ -1,12 +1,10 @@
 package cn.com.qmth.examcloud.exchange.outer.api;
 
 import cn.com.qmth.examcloud.api.commons.EnterpriseService;
-import cn.com.qmth.examcloud.exchange.outer.api.request.OuterDeleteScoreQueueTopReq;
-import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetScoreQueueTopReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetQuestionAnswerReq;
 import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetSubjectivePaperStructReq;
 import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetSubjectiveQuestionReq;
-import cn.com.qmth.examcloud.exchange.outer.api.response.OuterDeleteScoreQueueTopResp;
-import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetScoreQueueTopResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetQuestionAnswerResp;
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetSubjectivePaperStructResp;
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetSubjectiveQuestionResp;
 
@@ -17,19 +15,29 @@ import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetSubjectiveQuest
  * @Date 2020/3/30 15:19
  * @Version 1.0
  */
-public interface ExamQuestionOuterService extends EnterpriseService{
+public interface ExamQuestionOuterService extends EnterpriseService {
 
-	/**
-	 * 获取主观题试卷结构
-	 * @param req
-	 * @return
-	 */
-	OuterGetSubjectivePaperStructResp getSubjectivePaperStruct(OuterGetSubjectivePaperStructReq req);
+    /**
+     * 获取主观题试卷结构
+     *
+     * @param req
+     * @return
+     */
+    OuterGetSubjectivePaperStructResp getSubjectivePaperStruct(OuterGetSubjectivePaperStructReq req);
 
-	/**
-	 * 获取主观题作答结果
-	 * @param req
-	 * @return
-	 */
-	OuterGetSubjectiveQuestionResp getSubjectiveQuestion(OuterGetSubjectiveQuestionReq req);
+    /**
+     * 获取主观题作答结果
+     *
+     * @param req
+     * @return
+     */
+    OuterGetSubjectiveQuestionResp getSubjectiveQuestion(OuterGetSubjectiveQuestionReq req);
+
+    /**
+     * 获取题目答案
+     *
+     * @param req
+     * @return
+     */
+    OuterGetQuestionAnswerResp getQuestionAnswer(OuterGetQuestionAnswerReq req);
 }

+ 26 - 0
examcloud-exchange-outer-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetQuestionAnswerReq.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取作答结果请求
+ * @Author lideyin
+ * @Date 2020/4/25 18:58
+ * @Version 1.0
+ */
+public class OuterGetQuestionAnswerReq extends EnterpriseRequest {
+
+    private static final long serialVersionUID = -8374755306658040184L;
+
+    @ApiModelProperty(value = "题目id", example = "123", required = true)
+    private String questionId;
+
+    public String getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(String questionId) {
+        this.questionId = questionId;
+    }
+}

+ 27 - 0
examcloud-exchange-outer-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetQuestionAnswerResp.java

@@ -0,0 +1,27 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+import java.util.List;
+
+/**
+ * @Description 获取题目作答
+ * @Author lideyin
+ * @Date 2020/4/25 18:56
+ * @Version 1.0
+ */
+public class OuterGetQuestionAnswerResp extends EnterpriseResponse {
+
+    private static final long serialVersionUID = 8290190579593586203L;
+
+    //答案集合
+    private List<String> answerList;
+
+    public List<String> getAnswerList() {
+        return answerList;
+    }
+
+    public void setAnswerList(List<String> answerList) {
+        this.answerList = answerList;
+    }
+}