chen 5 éve
szülő
commit
76298e6cf9

+ 3 - 3
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseQuestionDealServiceImpl.java

@@ -64,7 +64,7 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
             if (StringUtils.isBlank(request.getQuestionId())){
                 //题目id不存在则是新增, 新增需要把一个num减1
                 KmtExerciseBook book  = kmtExerciseBookService.getById(request.getExerciseBookId());
-                KmtExerciseQuestion nextQuestion = kmtExerciseMapper.findByBookIdAndNum(book.getBookId(), request.getNum());
+                KmtExerciseQuestion nextQuestion = kmtExerciseMapper.findNextByBookIdAndNum(book.getBookId(), request.getNum());
                 //新增小题
                 if (request.getQuestionClassType() == 2){
                     KmtExerciseQuestion newQuestion = saveQuestion(book, request, nextQuestion, questionImage, answerImage);
@@ -313,7 +313,7 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
             } else  if (request.getQuestionClassType() == 1){
                 if (request.getType() == 1){
                     //大题上移, 先查找上一题的题目id列表
-                    KmtExerciseQuestion previousQuestion = kmtExerciseMapper.findByBookIdAndNum(kmtExerciseQuestion.getBookId(), kmtExerciseQuestion.getNum() - 1);
+                    KmtExerciseQuestion previousQuestion = kmtExerciseMapper.findPreviousByBookIdAndNum(kmtExerciseQuestion.getBookId(), kmtExerciseQuestion.getNum() - 1);
                     if (previousQuestion ==null ||  !previousQuestion.getBookCourseId().equals(kmtExerciseQuestion.getBookCourseId())){
                         return responseEntity.failure(ResponseConstant.CODE_000, "已移动到第一题位置");
                     }
@@ -331,7 +331,7 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
                 } else if (request.getType() == 2){
                     List<KmtExerciseQuestion> thisQuestions = kmtExerciseMapper.findQuestionsByBookCourseIdAndBigIndex(kmtExerciseQuestion.getBookCourseId(), kmtExerciseQuestion.getBigQuestionIndex());
                     int thisSize = thisQuestions.size();
-                    KmtExerciseQuestion nextQuestion = kmtExerciseMapper.findByBookIdAndNum(kmtExerciseQuestion.getBookId(), kmtExerciseQuestion.getNum() + thisSize);
+                    KmtExerciseQuestion nextQuestion = kmtExerciseMapper.findNextByBookIdAndNum(kmtExerciseQuestion.getBookId(), kmtExerciseQuestion.getNum() + thisSize);
                     if (nextQuestion == null || !nextQuestion.getBookCourseId().equals(kmtExerciseQuestion.getBookCourseId())){
                         return responseEntity.failure(ResponseConstant.CODE_000, "已移动到最后一题位置");
                     }

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

@@ -1154,8 +1154,12 @@ public interface KmtExerciseMapper {
                                 @Param("questionImage") String questionImage,
                                 @Param("answerImage") String answerImage);
 
-    @Select("select * from kmt_exercise_questions where book_id=#{bookId} and num=#{num} limit 1")
-    KmtExerciseQuestion findByBookIdAndNum (@Param("bookId") String bookId,
+    @Select("select * from kmt_exercise_questions where book_id=#{bookId} and num > #{num} order by num limit 1")
+    KmtExerciseQuestion findNextByBookIdAndNum (@Param("bookId") String bookId,
+                                            @Param("num") int num);
+
+    @Select("select * from kmt_exercise_questions where book_id=#{bookId} and num < #{num} order by num desc limit 1")
+    KmtExerciseQuestion findPreviousByBookIdAndNum (@Param("bookId") String bookId,
                                             @Param("num") int num);
 
     @Update("update kmt_exercise_questions set num = num + 1 where book_id=#{bookId} and num >= #{num}")