deason 6 years ago
parent
commit
1e43ce6f54

+ 10 - 3
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/StatisticServiceImpl.java

@@ -12,12 +12,16 @@ import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
 import cn.com.qmth.examcloud.core.basic.api.request.GetCourseReq;
 import cn.com.qmth.examcloud.core.basic.api.response.GetCourseResp;
 import cn.com.qmth.examcloud.core.print.common.jpa.SqlWrapper;
+import cn.com.qmth.examcloud.core.print.common.utils.JsonMapper;
 import cn.com.qmth.examcloud.core.print.enums.ExamType;
 import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.common.CourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamCourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure.ExamQuestionStructureInfo;
+import cn.com.qmth.examcloud.core.questions.api.ExtractConfigCloudService;
+import cn.com.qmth.examcloud.core.questions.api.request.GetBasePaperReq;
+import cn.com.qmth.examcloud.core.questions.api.response.GetQuestionListResp;
 import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamPaperTypeRelation;
 import cn.com.qmth.examcloud.examwork.api.request.CountExamStudentReq;
@@ -52,6 +56,8 @@ public class StatisticServiceImpl implements StatisticService {
     @Autowired
     private ExamCloudService examCloudService;
     @Autowired
+    private ExtractConfigCloudService questionCloudService;
+    @Autowired
     private JdbcTemplate jdbcTemplate;
 
     public List<ExamCourseInfo> findExamCourseAndPaperTypes(Long orgId, Long examId) {
@@ -211,9 +217,10 @@ public class StatisticServiceImpl implements StatisticService {
 
     @Override
     public ExamQuestionStructureInfo findStructureByPaperId(Long examId, String paperId) {
-        ExamQuestionStructureInfo info = new ExamQuestionStructureInfo();
-        //todo
-        return info;
+        GetBasePaperReq req = new GetBasePaperReq();
+        req.setPaperId(paperId);
+        GetQuestionListResp resp = questionCloudService.getQuestionStructure(req);
+        return new JsonMapper().fromJson(resp.getJson(), ExamQuestionStructureInfo.class);
     }
 
     @Override

+ 7 - 0
examcloud-core-print-starter/src/test/java/cn/com/qmth/examcloud/core/print/test/CoursePaperServiceTest.java

@@ -9,8 +9,10 @@ package cn.com.qmth.examcloud.core.print.test;
 
 import cn.com.qmth.examcloud.core.print.entity.CoursePaper;
 import cn.com.qmth.examcloud.core.print.service.CoursePaperService;
+import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.coursepaper.ExportAllReq;
 import cn.com.qmth.examcloud.core.print.service.bean.coursepaper.ExportBatchReq;
+import cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure.ExamQuestionStructureInfo;
 import com.google.common.collect.Lists;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +26,8 @@ import java.io.File;
 public class CoursePaperServiceTest extends BaseTest {
     @Autowired
     private CoursePaperService coursePaperService;
+    @Autowired
+    private StatisticService statisticService;
 
     @Test
     public void test() throws Exception {
@@ -52,6 +56,9 @@ public class CoursePaperServiceTest extends BaseTest {
         coursePaper.setPaperId("e965c24e-68a7-4f4d-ac1f-00ca0c904b10");
         coursePaper.setPaperName("测试试卷");
         coursePaperService.syncCoursePaper(coursePaper);
+
+        ExamQuestionStructureInfo info = statisticService.findStructureByPaperId(coursePaper.getExamId(), coursePaper.getPaperId());
+        System.out.println(jsonMapper.toJson(info));
     }
 
     @Test