Browse Source

练习册题目接口开发

chen 4 years ago
parent
commit
df6361905d

+ 9 - 0
ssj-kmt-exercise-service/src/main/java/com/ssj/service/kmt/exercisesys/dto/DistributionExerciseBookDTO.java

@@ -35,6 +35,7 @@ public class DistributionExerciseBookDTO implements Serializable {
     private String halfBook;
     private Integer unitNum;
     private Integer courseNum;
+    private Integer questionNum;
 
     @JSONField(serialize = false)
     private Integer intHandleAccuracy;
@@ -257,4 +258,12 @@ public class DistributionExerciseBookDTO implements Serializable {
     public void setAssignedBatch(String assignedBatch) {
         this.assignedBatch = assignedBatch;
     }
+
+    public Integer getQuestionNum() {
+        return questionNum;
+    }
+
+    public void setQuestionNum(Integer questionNum) {
+        this.questionNum = questionNum;
+    }
 }

+ 2 - 0
ssj-mybatis-service-impl/src/main/java/com/ssj/service/mapper/KmtExerciseMapper.java

@@ -1271,4 +1271,6 @@ public interface KmtExerciseMapper {
                                              @Param("endX") int endX,
                                              @Param("endY") int endY,
                                              @Param("questionId") String questionId);
+
+    List<DistributionExerciseBookDTO> findExerciseQuestionNum (@Param("exerciseBookIds") List<String> exerciseBookIds);
 }

+ 7 - 0
ssj-mybatis-service-impl/src/main/resources/mybatis/mapper/KmtExerciseMapper.xml

@@ -2092,4 +2092,11 @@
         </if>
         order by eb.book_name
     </select>
+
+    <select id="findExerciseQuestionNum" resultType="com.ssj.service.kmt.exercisesys.dto.DistributionExerciseBookDTO">
+        select exercise_book_id, count(1) question_num from kmt_exercise_questions where exercise_book_id in
+        <foreach collection="exerciseBookIds" item="id" index="index" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
 </mapper>

+ 20 - 0
ssj-sys/src/main/java/com/ssj/service/kmt/exercisesys/KmtExerciseSysServiceImpl.java

@@ -2428,6 +2428,7 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
         Integer pageNo = req.getPageNo();
         List<DistributionExerciseBookDTO> distributionExerciseBookDTOList =
                 kmtExerciseMapper.findDistributionExerciseBookList(req, (pageNo - 1) * pageSize, pageSize);
+        this.appendQuestionNum2List(distributionExerciseBookDTOList);
         Map<String, Object> resultMap = new HashMap<>();
         resultMap.put("pageNo", pageNo);
         resultMap.put("pageSize", pageSize);
@@ -2438,6 +2439,25 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
         return new ResponseEntity().success(resultMap, "查询成功");
     }
 
+    /**
+     * 增加题数反参
+     * @param list
+     */
+    private void appendQuestionNum2List (List<DistributionExerciseBookDTO> list) {
+        if (CollectionUtils.isNotEmpty(list)){
+            List<String> exerciseBookIds = list.stream().map(DistributionExerciseBookDTO::getExerciseBookId).collect(Collectors.toList());
+            List<DistributionExerciseBookDTO> questionNumList = kmtExerciseMapper.findExerciseQuestionNum(exerciseBookIds);
+            for (DistributionExerciseBookDTO item : list){
+                for (DistributionExerciseBookDTO questionNumItem : questionNumList){
+                    if (questionNumItem.getExerciseBookId().equals(item.getExerciseBookId())){
+                        item.setQuestionNum(questionNumItem.getQuestionNum());
+                        break;
+                    }
+                }
+            }
+        }
+    }
+
     private String getRole(String authority) {
         StringBuilder exerciseTeacherTypeBuilder = new StringBuilder("");
         if (authority.contains("1")) {