Browse Source

Merge branch 'bug-branch' into aijia-branch

chen 5 years ago
parent
commit
8c696935e1

+ 4 - 4
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);
@@ -209,7 +209,7 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
         kmtExerciseQuestion.setExerciseBookId(nextQuestion.getExerciseBookId());
         kmtExerciseQuestion.setHandlerSubmitTime(DateUtil.parse_yyyyMMddHHmmss("1970-01-01 00:00:01"));
         kmtExerciseQuestion.setQuestionPath(nextQuestion.getQuestionPath().substring(0, nextQuestion.getQuestionPath().lastIndexOf("/")) + "/" + newQuestionId + ".json");
-        logger.error(JSON.toJSONString(kmtExerciseQuestion));
+//        logger.error(JSON.toJSONString(kmtExerciseQuestion));
         kmtExerciseQuestion = kmtExerciseQuestionService.save(kmtExerciseQuestion);
         if (request.getQuestionClassType() == 2 && StringUtil.isBlank(nextQuestion.getParentId())) {
             kmtExerciseMapper.updateParentIdAndClassType(kmtExerciseQuestion.getId(), 2, book.getBookId(), request.getNum());
@@ -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, "已移动到最后一题位置");
                     }

+ 2 - 1
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/task/SyncSaveExerciseBookCourseTask.java

@@ -44,7 +44,7 @@ public class SyncSaveExerciseBookCourseTask extends Task {
     @Override
     public void run() {
         try {
-            Thread.sleep(2000);
+            logger.info("同步课时开始");
             List<KmtExerciseQuestion> kmtExerciseQuestions = kmtExerciseMapper.findByBookCourseId(this.bookCourseId);
             this.appendQuestionDataFromJSONFile(kmtExerciseQuestions);
             for (KmtExerciseQuestion kmtExerciseQuestion : kmtExerciseQuestions){
@@ -70,6 +70,7 @@ public class SyncSaveExerciseBookCourseTask extends Task {
                 }
                 exerciseQuestionSearchService.insertOrUpdateBatch("kmt_exercise_question_know", elasticEntityList);
             }
+            logger.info("同步课时结束");
         } catch (Exception e){
             logger.error("异步保存es异常", e);
         }

+ 2 - 1
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/task/SyncSaveExerciseBookTask.java

@@ -44,7 +44,7 @@ public class SyncSaveExerciseBookTask extends Task {
     @Override
     public void run() {
         try {
-            Thread.sleep(2000);
+            logger.info("同步练习册开始");
             List<KmtExerciseQuestion> kmtExerciseQuestions = kmtExerciseMapper.findByBookId(this.bookId);
             this.appendQuestionDataFromJSONFile(kmtExerciseQuestions);
             for (KmtExerciseQuestion kmtExerciseQuestion : kmtExerciseQuestions){
@@ -70,6 +70,7 @@ public class SyncSaveExerciseBookTask extends Task {
                 }
                 exerciseQuestionSearchService.insertOrUpdateBatch("kmt_exercise_question_know", elasticEntityList);
             }
+            logger.info("同步练习册结束");
         } catch (Exception e){
             logger.error("异步保存es异常", e);
         }

+ 2 - 1
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/task/SyncSaveExerciseQuestionsTask.java

@@ -43,7 +43,7 @@ public class SyncSaveExerciseQuestionsTask extends Task {
     @Override
     public void run() {
         try {
-            Thread.sleep(2000);
+            logger.info("同步题目开始");
             List<KmtExerciseQuestion> kmtExerciseQuestions = kmtExerciseMapper.findExerciseQuestionByIds(this.questionIds);
             this.appendQuestionDataFromJSONFile(kmtExerciseQuestions);
             for (KmtExerciseQuestion kmtExerciseQuestion : kmtExerciseQuestions){
@@ -69,6 +69,7 @@ public class SyncSaveExerciseQuestionsTask extends Task {
                 }
                 exerciseQuestionSearchService.insertOrUpdateBatch("kmt_exercise_question_know", elasticEntityList);
             }
+            logger.info("同步题目结束");
         } catch (Exception e){
             logger.error("异步保存es异常", e);
         }

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

@@ -1171,8 +1171,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}")