Преглед изворни кода

Merge remote-tracking branch 'origin/dev_v3.1.0' into dev_v3.1.0

wangliang пре 3 година
родитељ
комит
6aabf6b8e2
17 измењених фајлова са 462 додато и 45 уклоњено
  1. 90 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/PaperConfig.java
  2. 111 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/PaperStructure.java
  3. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java
  4. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperMapper.java
  5. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperStructMapper.java
  6. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java
  7. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperService.java
  8. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperStructService.java
  9. 11 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/OpenApiService.java
  10. 5 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java
  11. 6 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperServiceImpl.java
  12. 5 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java
  13. 44 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java
  14. 68 42
      distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml
  15. 15 0
      distributed-print-business/src/main/resources/mapper/GradePaperMapper.xml
  16. 17 0
      distributed-print-business/src/main/resources/mapper/GradePaperStructMapper.xml
  17. 77 3
      distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java

+ 90 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/PaperConfig.java

@@ -0,0 +1,90 @@
+package com.qmth.distributed.print.business.bean.dto.open;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+
+import java.math.BigDecimal;
+
+public class PaperConfig {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    private String paperType;
+
+    private Long startTime;
+
+    private Long endTime;
+
+    private BigDecimal coefficient;
+
+    private BigDecimal totalScore;
+
+    private BigDecimal passScore;
+
+    private String scoreType;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Long endTime) {
+        this.endTime = endTime;
+    }
+
+    public BigDecimal getCoefficient() {
+        return coefficient;
+    }
+
+    public void setCoefficient(BigDecimal coefficient) {
+        this.coefficient = coefficient;
+    }
+
+    public BigDecimal getTotalScore() {
+        return totalScore;
+    }
+
+    public void setTotalScore(BigDecimal totalScore) {
+        this.totalScore = totalScore;
+    }
+
+    public BigDecimal getPassScore() {
+        return passScore;
+    }
+
+    public void setPassScore(BigDecimal passScore) {
+        this.passScore = passScore;
+    }
+
+    public String getScoreType() {
+        return scoreType;
+    }
+
+    public void setScoreType(String scoreType) {
+        this.scoreType = scoreType;
+    }
+}

+ 111 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/PaperStructure.java

@@ -0,0 +1,111 @@
+package com.qmth.distributed.print.business.bean.dto.open;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class PaperStructure {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    private String questionName;
+
+    private String numberType;
+
+    private String bigQuestionNumber;
+
+    private String smallQuestionNumber;
+
+    private String bigTopicName;
+
+    private BigDecimal fullScore;
+
+    private String scoreRules;
+
+    private String knowledgeDimension;
+
+    private String abilityDimension;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getQuestionName() {
+        return questionName;
+    }
+
+    public void setQuestionName(String questionName) {
+        this.questionName = questionName;
+    }
+
+    public String getNumberType() {
+        return numberType;
+    }
+
+    public void setNumberType(String numberType) {
+        this.numberType = numberType;
+    }
+
+    public String getBigQuestionNumber() {
+        return bigQuestionNumber;
+    }
+
+    public void setBigQuestionNumber(String bigQuestionNumber) {
+        this.bigQuestionNumber = bigQuestionNumber;
+    }
+
+    public String getSmallQuestionNumber() {
+        return smallQuestionNumber;
+    }
+
+    public void setSmallQuestionNumber(String smallQuestionNumber) {
+        this.smallQuestionNumber = smallQuestionNumber;
+    }
+
+    public String getBigTopicName() {
+        return bigTopicName;
+    }
+
+    public void setBigTopicName(String bigTopicName) {
+        this.bigTopicName = bigTopicName;
+    }
+
+    public BigDecimal getFullScore() {
+        return fullScore;
+    }
+
+    public void setFullScore(BigDecimal fullScore) {
+        this.fullScore = fullScore;
+    }
+
+    public String getScoreRules() {
+        return scoreRules;
+    }
+
+    public void setScoreRules(String scoreRules) {
+        this.scoreRules = scoreRules;
+    }
+
+    public String getKnowledgeDimension() {
+        return knowledgeDimension;
+    }
+
+    public void setKnowledgeDimension(String knowledgeDimension) {
+        this.knowledgeDimension = knowledgeDimension;
+    }
+
+    public String getAbilityDimension() {
+        return abilityDimension;
+    }
+
+    public void setAbilityDimension(String abilityDimension) {
+        this.abilityDimension = abilityDimension;
+    }
+}

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java

@@ -54,4 +54,5 @@ public interface GradeBatchPaperMapper extends BaseMapper<GradeBatchPaper> {
                                                      @Param("schoolId") Long schoolId);
 
 
+    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(@Param("thirdExamId") String thirdExamId, @Param("gradeCourseCode") String gradeCourseCode);
 }

+ 3 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperMapper.java

@@ -1,7 +1,9 @@
 package com.qmth.distributed.print.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
 import com.qmth.distributed.print.business.entity.GradePaper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.qmth.distributed.print.business.entity.GradePaper;
  */
 public interface GradePaperMapper extends BaseMapper<GradePaper> {
 
+    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 }

+ 3 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperStructMapper.java

@@ -1,7 +1,9 @@
 package com.qmth.distributed.print.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
 import com.qmth.distributed.print.business.entity.GradePaperStruct;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.qmth.distributed.print.business.entity.GradePaperStruct;
  */
 public interface GradePaperStructMapper extends BaseMapper<GradePaperStruct> {
 
+    PaperStructure findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java

@@ -47,4 +47,6 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
     void saveGradeBatchPaper(GradeBatchPaperParam gradeBatchPaperParam, SysUser requestUser);
 
     boolean deleteGradeBatchPaper(List<Long> idList);
+
+    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(String thirdExamId, String gradeCourseCode);
 }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperService.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
 import com.qmth.distributed.print.business.entity.GradePaper;
 
 /**
@@ -13,4 +14,5 @@ import com.qmth.distributed.print.business.entity.GradePaper;
  */
 public interface GradePaperService extends IService<GradePaper> {
 
+    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperStructService.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
 import com.qmth.distributed.print.business.entity.GradePaperStruct;
 
 /**
@@ -13,4 +14,5 @@ import com.qmth.distributed.print.business.entity.GradePaperStruct;
  */
 public interface GradePaperStructService extends IService<GradePaperStruct> {
 
+    PaperStructure findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/OpenApiService.java

@@ -0,0 +1,11 @@
+package com.qmth.distributed.print.business.service;
+
+import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
+import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
+
+public interface OpenApiService {
+
+    PaperConfig getPaperConfig(String thirdExamId, String gradeCourseCode);
+
+    PaperStructure getPaperStructure(String thirdExamId, String gradeCourseCode);
+}

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java

@@ -152,6 +152,11 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         return this.removeByIds(idList);
     }
 
+    @Override
+    public GradeBatchPaper findByThirdExamIdAndGradeCourseCode(String thirdExamId, String gradeCourseCode) {
+        return this.baseMapper.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    }
+
     /**
      * 根据机构id查询开课学院
      *

+ 6 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperServiceImpl.java

@@ -1,6 +1,8 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
 import com.qmth.distributed.print.business.entity.GradePaper;
 import com.qmth.distributed.print.business.mapper.GradePaperMapper;
 import com.qmth.distributed.print.business.service.GradePaperService;
@@ -17,4 +19,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePaper> implements GradePaperService {
 
+    @Override
+    public PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {
+        return this.baseMapper.findBySchoolIdAndPaperNumberAndPaperType(schoolId, paperNumber, paperType);
+    }
 }

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
 import com.qmth.distributed.print.business.entity.GradePaperStruct;
 import com.qmth.distributed.print.business.mapper.GradePaperStructMapper;
 import com.qmth.distributed.print.business.service.GradePaperStructService;
@@ -17,4 +18,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMapper, GradePaperStruct> implements GradePaperStructService {
 
+    @Override
+    public PaperStructure findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {
+        return this.baseMapper.findBySchoolIdAndPaperNumberAndPaperType(schoolId, paperNumber, paperType);
+    }
 }

+ 44 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java

@@ -0,0 +1,44 @@
+package com.qmth.distributed.print.business.service.impl;
+
+import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
+import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
+import com.qmth.distributed.print.business.entity.GradeBatchPaper;
+import com.qmth.distributed.print.business.service.GradeBatchPaperService;
+import com.qmth.distributed.print.business.service.GradePaperService;
+import com.qmth.distributed.print.business.service.GradePaperStructService;
+import com.qmth.distributed.print.business.service.OpenApiService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class OpenApiServiceImpl implements OpenApiService {
+
+    @Resource
+    private GradeBatchPaperService gradeBatchPaperService;
+
+    @Resource
+    private GradePaperService gradePaperService;
+
+    @Resource
+    private GradePaperStructService gradePaperStructService;
+
+    @Override
+    public PaperConfig getPaperConfig(String thirdExamId, String gradeCourseCode) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+        if (gradeBatchPaper == null) {
+            return null;
+        }
+        return gradePaperService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
+    }
+
+    @Override
+    public PaperStructure getPaperStructure(String thirdExamId, String gradeCourseCode) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+        if (gradeBatchPaper == null) {
+            return null;
+        }
+
+        return gradePaperStructService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
+    }
+}

+ 68 - 42
distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml

@@ -2,32 +2,51 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.distributed.print.business.mapper.GradeBatchPaperMapper">
 
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qmth.distributed.print.business.entity.GradeBatchPaper">
+        <result column="id" property="id"/>
+        <result column="school_id" property="schoolId"/>
+        <result column="batch_id" property="batchId"/>
+        <result column="grade_paper_id" property="gradePaperId"/>
+        <result column="paper_number" property="paperNumber"/>
+        <result column="paper_type" property="paperType"/>
+        <result column="status" property="status"/>
+        <result column="teach_college_id" property="teachCollegeId"/>
+        <result column="teach_college_name" property="teachCollegeName"/>
+        <result column="paper_name" property="paperName"/>
+        <result column="grade_course_code" property="gradeCourseCode"/>
+        <result column="create_id" property="createId"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_id" property="updateId"/>
+        <result column="update_time" property="updateTime"/>
+    </resultMap>
+
     <select id="findGradeBatchPaperPage"
             resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult">
         SELECT
-            gbp.id AS id,
-            bs.name AS semesterName,
-            be.name AS examName,
-            et.course_code AS courseCode,
-            et.course_name AS courseName,
-            et.teaching_room_id AS teachingRoomId,
-            gbp.paper_number AS paperNumber,
-            gbp.paper_type AS paperType,
-            gbp.status AS status
+        gbp.id AS id,
+        bs.name AS semesterName,
+        be.name AS examName,
+        et.course_code AS courseCode,
+        et.course_name AS courseName,
+        et.teaching_room_id AS teachingRoomId,
+        gbp.paper_number AS paperNumber,
+        gbp.paper_type AS paperType,
+        gbp.status AS status
         FROM
-            grade_batch_paper gbp
-                LEFT JOIN
-            exam_task et ON gbp.school_id = et.school_id
-                AND gbp.paper_number = et.paper_number
-                LEFT JOIN
-            basic_exam be ON et.school_id = be.school_id
-                AND et.exam_id = be.id
-                LEFT JOIN
-            basic_semester bs ON be.school_id = bs.school_id
-                AND be.semester_id = bs.id
-                LEFT JOIN
-            basic_course bc ON et.school_id = bc.school_id
-                AND et.course_code = bc.code
+        grade_batch_paper gbp
+        LEFT JOIN
+        exam_task et ON gbp.school_id = et.school_id
+        AND gbp.paper_number = et.paper_number
+        LEFT JOIN
+        basic_exam be ON et.school_id = be.school_id
+        AND et.exam_id = be.id
+        LEFT JOIN
+        basic_semester bs ON be.school_id = bs.school_id
+        AND be.semester_id = bs.id
+        LEFT JOIN
+        basic_course bc ON et.school_id = bc.school_id
+        AND et.course_code = bc.code
         <where>
             <if test="schoolId != null and schoolId != ''">
                 AND gbp.school_id = #{schoolId}
@@ -47,27 +66,27 @@
     <select id="findAbleAnalyzePaper"
             resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult">
         SELECT
-            bs.name AS semesterName,
-            be.name AS examName,
-            et.course_code AS courseCode,
-            et.course_name AS courseName,
-            et.teaching_room_id AS teachingRoomId,
-            et.teacher_name AS teacherName,
-            et.paper_number AS paperNumber,
-            etd.exposed_paper_type AS paperType
+        bs.name AS semesterName,
+        be.name AS examName,
+        et.course_code AS courseCode,
+        et.course_name AS courseName,
+        et.teaching_room_id AS teachingRoomId,
+        et.teacher_name AS teacherName,
+        et.paper_number AS paperNumber,
+        etd.exposed_paper_type AS paperType
         FROM
-            exam_task et
-                INNER JOIN
-            exam_task_detail etd ON et.id = etd.exam_task_id
-                LEFT JOIN
-            basic_exam be ON be.school_id = et.school_id
-                AND be.id = et.exam_id
-                LEFT JOIN
-            basic_semester bs ON bs.school_id = et.school_id
-                AND bs.id = be.semester_id
-                LEFT JOIN
-            basic_course bc ON bc.school_id = et.school_id
-                AND bc.code = et.course_code
+        exam_task et
+        INNER JOIN
+        exam_task_detail etd ON et.id = etd.exam_task_id
+        LEFT JOIN
+        basic_exam be ON be.school_id = et.school_id
+        AND be.id = et.exam_id
+        LEFT JOIN
+        basic_semester bs ON bs.school_id = et.school_id
+        AND bs.id = be.semester_id
+        LEFT JOIN
+        basic_course bc ON bc.school_id = et.school_id
+        AND bc.code = et.course_code
         <where>
             AND etd.exposed_paper_type != ''
             <if test="schoolId != null and schoolId != ''">
@@ -90,5 +109,12 @@
             </if>
         </where>
     </select>
+    <select id="findByThirdExamIdAndGradeCourseCode" resultMap="BaseResultMap">
+        select gbp.*
+        from grade_batch gb
+                 join grade_batch_paper gbp on gb.id = gbp.batch_id
+        where gb.third_exam_id = #{thirdExamId}
+          and gbp.grade_course_code = #{gradeCourseCode}
+    </select>
 
 </mapper>

+ 15 - 0
distributed-print-business/src/main/resources/mapper/GradePaperMapper.xml

@@ -2,4 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.distributed.print.business.mapper.GradePaperMapper">
 
+    <select id="findBySchoolIdAndPaperNumberAndPaperType"
+            resultType="com.qmth.distributed.print.business.bean.dto.open.PaperConfig">
+        SELECT id,
+               paper_type  paperType,
+               start_time  startTime,
+               end_time    endTime,
+               coefficient coefficient,
+               total_score totalScore,
+               pass_score  passScore,
+               score_type  scoreType
+        FROM grade_paper
+        where school_id = #{schoolId}
+          and paper_number = {paperNumber}
+          and paper_type = #{paperType}
+    </select>
 </mapper>

+ 17 - 0
distributed-print-business/src/main/resources/mapper/GradePaperStructMapper.xml

@@ -2,4 +2,21 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.distributed.print.business.mapper.GradePaperStructMapper">
 
+    <select id="findBySchoolIdAndPaperNumberAndPaperType"
+            resultType="com.qmth.distributed.print.business.bean.dto.open.PaperStructure">
+        SELECT id,
+               question_name         questionName,
+               number_type           numberType,
+               big_question_number   bigQuestionNumber,
+               small_question_number smallQuestionNumber,
+               big_topic_name        bigTopicName,
+               full_score            fullScore,
+               score_rules           scoreRules,
+               knowledge_dimension   knowledgeDimension,
+               ability_dimension     abilityDimension
+        FROM grade_paper_struct
+        where school_id = #{schoolId}
+          and paper_number = #{paperNumber}
+          and paper_type = #{paperType}
+    </select>
 </mapper>

+ 77 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.api;
 
 import com.alibaba.fastjson.JSONObject;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.service.OpenApiService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;
@@ -11,9 +12,9 @@ import io.swagger.annotations.ApiResponses;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -30,10 +31,83 @@ import org.springframework.web.bind.annotation.RestController;
 public class OpenApiController {
     private final static Logger log = LoggerFactory.getLogger(OpenApiController.class);
 
+    @Resource
+    private OpenApiService openApiService;
+
     @ApiOperation(value = "查询教研分析数据(1.蓝图数据,2.考生作答数据)")
     @ApiResponses({@ApiResponse(code = 200, message = "查询教研分析数据(1.蓝图数据,2.考生作答数据)", response = Object.class)})
     @RequestMapping(value = "/analysis/data", method = RequestMethod.POST)
     public Result analysisData(JSONObject jsonObject) {
         return ResultUtil.ok(true);
     }
+
+    /**
+     * 试卷基础配置查询
+     *
+     * @param thirdExamId     第三方考试id
+     * @param gradeCourseCode 第三方课程编号
+     */
+    @ApiOperation(value = "试卷基础配置查询")
+    @ApiResponses({@ApiResponse(code = 200, message = "试卷基础配置查询", response = Object.class)})
+    @PostMapping("/paper_config")
+    public Result paperConfig(@RequestParam String thirdExamId,
+                              @RequestParam String gradeCourseCode) {
+        return ResultUtil.ok(openApiService.getPaperConfig(thirdExamId, gradeCourseCode));
+    }
+
+    /**
+     * 试卷考察点查询
+     *
+     * @param thirdExamId     第三方考试id
+     * @param gradeCourseCode 第三方课程编号
+     */
+    @ApiOperation(value = "试卷考察点查询")
+    @ApiResponses({@ApiResponse(code = 200, message = "试卷考察点查询", response = Object.class)})
+    @PostMapping("/paper_dimension")
+    public Result paperDimension(@RequestParam String thirdExamId,
+                                 @RequestParam String gradeCourseCode) {
+        return ResultUtil.ok(true);
+    }
+
+    /**
+     * 试卷蓝图查询
+     *
+     * @param thirdExamId     第三方考试id
+     * @param gradeCourseCode 第三方课程编号
+     */
+    @ApiOperation(value = "试卷蓝图查询")
+    @ApiResponses({@ApiResponse(code = 200, message = "试卷蓝图查询", response = Object.class)})
+    @PostMapping("/paper_structure")
+    public Result paperStructure(@RequestParam String thirdExamId,
+                                 @RequestParam String gradeCourseCode) {
+        return ResultUtil.ok(openApiService.getPaperStructure(thirdExamId, gradeCourseCode));
+    }
+
+    /**
+     * 试卷评价模型查询
+     *
+     * @param thirdExamId     第三方考试id
+     * @param gradeCourseCode 第三方课程编号
+     */
+    @ApiOperation(value = "试卷评价模型查询")
+    @ApiResponses({@ApiResponse(code = 200, message = "试卷评价模型查询", response = Object.class)})
+    @PostMapping("/paper_evaluation")
+    public Result paperEvaluation(@RequestParam String thirdExamId,
+                                  @RequestParam String gradeCourseCode) {
+        return ResultUtil.ok(true);
+    }
+
+    /**
+     * 考生成绩查询
+     *
+     * @param thirdExamId     第三方考试id
+     * @param gradeCourseCode 第三方课程编号
+     */
+    @ApiOperation(value = "考生成绩查询")
+    @ApiResponses({@ApiResponse(code = 200, message = "考生成绩查询", response = Object.class)})
+    @PostMapping("/exam_student_score")
+    public Result examStudentScore(@RequestParam String thirdExamId,
+                                   @RequestParam String gradeCourseCode) {
+        return ResultUtil.ok(true);
+    }
 }