deason 6 роки тому
батько
коміт
efb837c98b

+ 42 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/StatisticService.java

@@ -0,0 +1,42 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-11-23 17:52:37.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.core.print.service;
+
+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.questionstructure.PaperQuestionStructureInfo;
+
+import java.util.List;
+
+/**
+ * @author: fengdesheng
+ * @since: 2018/11/23
+ */
+public interface StatisticService {
+
+    /**
+     * 获取所有"传统"考试列表
+     */
+    List<ExamInfo> findExams(String examType);
+
+    /**
+     * 获取考试所有开考的课程列表(含试卷类型、考生数量)
+     */
+    List<ExamCourseInfo> findExamCourses(Long orgId, Long examId);
+
+    /**
+     * 获取考试所有开考的课程列表(含试卷类型、考生数量)
+     */
+    List<ExamCourseInfo> findExamCourses(Long orgId, Long examId, Long courseId, String paperType);
+
+    /**
+     * 获取试卷结构信息
+     */
+    PaperQuestionStructureInfo findStructureByPaperId(Long examId, String paperId);
+
+}

+ 4 - 4
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/CourseStatisticServiceImpl.java

@@ -14,9 +14,9 @@ import cn.com.qmth.examcloud.core.print.common.utils.Check;
 import cn.com.qmth.examcloud.core.print.entity.CourseStatistic;
 import cn.com.qmth.examcloud.core.print.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.print.repository.CourseStatisticRepository;
-import cn.com.qmth.examcloud.core.print.service.CommonService;
 import cn.com.qmth.examcloud.core.print.service.CourseStatisticService;
 import cn.com.qmth.examcloud.core.print.service.PrintingProjectService;
+import cn.com.qmth.examcloud.core.print.service.StatisticService;
 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.coursestatistic.CourseStatisticConvert;
@@ -46,7 +46,7 @@ public class CourseStatisticServiceImpl implements CourseStatisticService {
     @Autowired
     private PrintingProjectService printingProjectService;
     @Autowired
-    private CommonService commonService;
+    private StatisticService statisticService;
 
     @Override
     public Page<CourseStatisticInfo> getCourseStatisticList(CourseStatisticQuery query) {
@@ -94,7 +94,7 @@ public class CourseStatisticServiceImpl implements CourseStatisticService {
                 continue;
             }
             //按课程和试卷类型逐个更新统计信息
-            List<ExamCourseInfo> examCourses = commonService.findExamCourses(req.getOrgId(), req.getExamId(), course.getCourseId(), course.getPaperType());//todo
+            List<ExamCourseInfo> examCourses = statisticService.findExamCourses(req.getOrgId(), req.getExamId(), course.getCourseId(), course.getPaperType());//todo
             this.syncCourseStatisticList(examCourses);
         }
     }
@@ -111,7 +111,7 @@ public class CourseStatisticServiceImpl implements CourseStatisticService {
 
         //todo 优化
         for (ExamInfo info : exams) {
-            List<ExamCourseInfo> examCourses = commonService.findExamCourses(info.getOrgId(), info.getExamId());//todo
+            List<ExamCourseInfo> examCourses = statisticService.findExamCourses(info.getOrgId(), info.getExamId());//todo
             this.syncCourseStatisticList(examCourses);
         }
     }

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

@@ -16,8 +16,8 @@ import cn.com.qmth.examcloud.core.print.common.utils.Check;
 import cn.com.qmth.examcloud.core.print.entity.PrintingProject;
 import cn.com.qmth.examcloud.core.print.enums.ExamType;
 import cn.com.qmth.examcloud.core.print.repository.PrintingProjectRepository;
-import cn.com.qmth.examcloud.core.print.service.CommonService;
 import cn.com.qmth.examcloud.core.print.service.PrintingProjectService;
+import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.OrgInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.printingproject.PrintingProjectConvert;
@@ -52,7 +52,7 @@ public class PrintingProjectServiceImpl implements PrintingProjectService {
     @Autowired
     private PrintingProjectRepository printingProjectRepository;
     @Autowired
-    private CommonService commonService;
+    private StatisticService statisticService;
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
@@ -166,7 +166,7 @@ public class PrintingProjectServiceImpl implements PrintingProjectService {
     public void initAllPrintingProject() {
         //获取所有"传统"考试列表
         log.debug("initAllPrintingProject...");
-        List<ExamInfo> list = commonService.findExams(ExamType.TRADITION.name());//todo
+        List<ExamInfo> list = statisticService.findExams(ExamType.TRADITION.name());//todo
         if (list != null && !list.isEmpty()) {
             for (ExamInfo info : list) {
                 syncPrintingProject(info);

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

@@ -14,8 +14,8 @@ import cn.com.qmth.examcloud.core.print.entity.ObjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.entity.SubjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.repository.ObjectiveQuestionStructureRepository;
 import cn.com.qmth.examcloud.core.print.repository.SubjectiveQuestionStructureRepository;
-import cn.com.qmth.examcloud.core.print.service.CommonService;
 import cn.com.qmth.examcloud.core.print.service.QuestionStructureService;
+import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.questionstructure.PaperQuestionStructureInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -38,7 +38,7 @@ public class QuestionStructureServiceImpl implements QuestionStructureService {
     @Autowired
     private SubjectiveQuestionStructureRepository subjectiveQuestionStructureRepository;
     @Autowired
-    private CommonService commonService;
+    private StatisticService statisticService;
 
     @Override
     public void savePaperQuestionStructure(@NotNull Long examId, @NotNull String paperId) {
@@ -46,7 +46,7 @@ public class QuestionStructureServiceImpl implements QuestionStructureService {
         Check.isEmpty(paperId, "试卷ID不能为空!");
 
         //从题库端获取试卷的试题结构信息
-        PaperQuestionStructureInfo info = commonService.findStructureByPaperId(examId, paperId);
+        PaperQuestionStructureInfo info = statisticService.findStructureByPaperId(examId, paperId);
 
         //先清理旧数据
         objectiveQuestionStructureRepository.deleteByExamIdAndPaperId(examId, paperId);

+ 16 - 56
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/CommonService.java → examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/StatisticServiceImpl.java

@@ -1,16 +1,14 @@
 /*
  * *************************************************
  * Copyright (c) 2018 QMTH. All Rights Reserved.
- * Created by Deason on 2018-11-07 10:17:17.
+ * Created by Deason on 2018-11-23 17:52:03.
  * *************************************************
  */
 
-package cn.com.qmth.examcloud.core.print.service;
+package cn.com.qmth.examcloud.core.print.service.impl;
 
 import cn.com.qmth.examcloud.core.print.common.jpa.SqlWrapper;
-import cn.com.qmth.examcloud.core.print.entity.ObjectiveQuestionStructure;
-import cn.com.qmth.examcloud.core.print.entity.SubjectiveQuestionStructure;
-import cn.com.qmth.examcloud.core.print.enums.QuesStructType;
+import cn.com.qmth.examcloud.core.print.service.StatisticService;
 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.questionstructure.PaperQuestionStructureInfo;
@@ -20,7 +18,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
 
 import java.util.List;
 
@@ -28,16 +26,13 @@ import java.util.List;
  * @author: fengdesheng
  * @since: 2018/11/7
  */
-@Component
-public class CommonService {
-    private static final Logger log = LoggerFactory.getLogger(CommonService.class);
+@Service
+public class StatisticServiceImpl implements StatisticService {
+    private static final Logger log = LoggerFactory.getLogger(StatisticServiceImpl.class);
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
-    /**
-     * 获取所有"传统"考试列表
-     * (正式场景数据极少,一次获取全部)
-     */
+    @Override
     public List<ExamInfo> findExams(String examType) {
         //暂时直接查库,待“考务”接口提供后改为通过接口获取数据
         SqlWrapper sql = new SqlWrapper()
@@ -50,10 +45,12 @@ public class CommonService {
         return jdbcTemplate.query(sql.build(), new BeanPropertyRowMapper(ExamInfo.class));
     }
 
-    /**
-     * 获取考试所有的开考课程列表
-     * 含试卷类型、考生数量
-     */
+    @Override
+    public List<ExamCourseInfo> findExamCourses(Long orgId, Long examId) {
+        return this.findExamCourses(orgId, examId, null, null);
+    }
+
+    @Override
     public List<ExamCourseInfo> findExamCourses(Long orgId, Long examId, Long courseId, String paperType) {
         //暂时直接查库,待“考务”接口提供后改为通过接口获取数据
         SqlWrapper sql = new SqlWrapper()
@@ -72,47 +69,10 @@ public class CommonService {
         return jdbcTemplate.query(sql.build(), new BeanPropertyRowMapper(ExamCourseInfo.class));
     }
 
-    /**
-     * 获取考试所有的开考课程列表
-     * 含试卷类型、考生数量
-     */
-    public List<ExamCourseInfo> findExamCourses(Long orgId, Long examId) {
-        return this.findExamCourses(orgId, examId, null, null);
-    }
-
+    @Override
     public PaperQuestionStructureInfo findStructureByPaperId(Long examId, String paperId) {
-        // just mock data todo
         PaperQuestionStructureInfo info = new PaperQuestionStructureInfo();
-
-        ObjectiveQuestionStructure objective = new ObjectiveQuestionStructure();
-        objective.setExamId(examId);
-        objective.setPaperId(paperId);
-        objective.setCourseId(1L);
-        objective.setCourseCode("123456");
-        objective.setCourseName("测试课程");
-        objective.setPaperName("测试试卷");
-        objective.setPaperType("A");
-        objective.setQuestionType(QuesStructType.SINGLE_ANSWER_QUESTION.name());
-        objective.setAnswer("1");
-        objective.setSectionNum(1);
-        objective.setUnitNum(1);
-        objective.setUnitScore(2.0);
-        info.addObjective(objective);
-
-        SubjectiveQuestionStructure subjective = new SubjectiveQuestionStructure();
-        subjective.setExamId(examId);
-        subjective.setPaperId(paperId);
-        subjective.setCourseId(1L);
-        subjective.setCourseCode("123456");
-        subjective.setCourseName("测试课程");
-        subjective.setPaperName("测试试卷");
-        subjective.setPaperType("A");
-        subjective.setSectionNum(1);
-        subjective.setSectionName("简答题");
-        subjective.setUnitNum(1);
-        subjective.setUnitScore(2.0);
-        info.addSubjective(subjective);
-
+        //todo
         return info;
     }
 

+ 2 - 2
examcloud-core-print-starter/src/main/java/cn/com/qmth/examcloud/core/print/config/SwaggerConfig.java

@@ -30,7 +30,7 @@ public class SwaggerConfig {
     @Bean
     public Docket buildDocket() {
         return new Docket(DocumentationType.SWAGGER_2)
-                .groupName("Version 2.0")
+                .groupName("Version 3.0")
                 .apiInfo(buildApiInfo())
                 .useDefaultResponseMessages(false)
                 .select()
@@ -42,7 +42,7 @@ public class SwaggerConfig {
     public ApiInfo buildApiInfo() {
         return new ApiInfoBuilder()
                 .title("印刷平台接口文档")
-                .version("2.0")
+                .version("3.0")
                 .build();
     }