Forráskód Böngészése

报错列表用户问题、不同练习册新增题目问题

chen 4 éve
szülő
commit
6f520f9867

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

@@ -82,7 +82,8 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
                     ThreadPool.getInstance().addTask(new SyncSaveExerciseBookTask(kmtExerciseMapper, exerciseQuestionSearchService, book.getBookId()));
                 } else {
                     //新增大题, 如果已存在当前大题号,则报错
-                    String bqi = kmtExerciseMapper.findBigQuestionIndexByBookCourseId(previousQuestion.getBookCourseId(), request.getBigQuestionIndex());
+                    String bqi = kmtExerciseMapper.findBigQuestionIndexByBookCourseId(previousQuestion.getBookCourseId(),
+                            request.getBigQuestionIndex(), previousQuestion.getExerciseBookId());
                     if (StringUtil.isBlank(bqi)){
                         newQuestion = saveQuestion(book, request, previousQuestion, questionImage, answerImage);
                         saveJSONFile(newQuestion, request, questionImage);
@@ -107,7 +108,8 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
                 } else {
                     if (!kmtExerciseQuestion.getBigQuestionIndex().equals(request.getBigQuestionIndex())){
                         //如果大题号不同,判断当前课时的大题号是否存在,存在的话不能修改
-                        String bigQuestionIndex = kmtExerciseMapper.findBigQuestionIndexByBookCourseId(kmtExerciseQuestion.getBookCourseId(), request.getBigQuestionIndex());
+                        String bigQuestionIndex = kmtExerciseMapper.findBigQuestionIndexByBookCourseId(kmtExerciseQuestion.getBookCourseId(),
+                                request.getBigQuestionIndex(), kmtExerciseQuestion.getExerciseBookId());
                         if (StringUtil.isNotBlank(bigQuestionIndex)){
                             return responseEntity.failure(ResponseConstant.CODE_000, "当前课时已存在该大题号,修改失败");
                         }

+ 18 - 7
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseQuestionServiceImpl.java

@@ -200,9 +200,10 @@ public class KmtExerciseQuestionServiceImpl extends BaseServiceImpl<KmtExerciseQ
         if (CollectionUtils.isNotEmpty(list)){
             List<String> questionIds = list.stream().map(ExerciseQuetionDto::getQuestionId).collect(Collectors.toList());
             List<QuestionListKnowModel> questionKnows = kmtExerciseMapper.findQuestionKnowByQuestionIds(questionIds);
-
+            List<TbLibManager> users = getDealUsers(list); //加工审核员用户信息
             for (ExerciseQuetionDto exerciseQuestionDto : list){
                 this.setQuestionStatus(exerciseQuestionDto);
+                exerciseQuestionDto.appendUserNameByIds(users);
                 exerciseQuestionDto.setParentId(StringUtil.isBlank(exerciseQuestionDto.getParentId()) ?
                         exerciseQuestionDto.getQuestionId() : exerciseQuestionDto.getParentId());
                 if (questionKnows != null){
@@ -233,6 +234,21 @@ public class KmtExerciseQuestionServiceImpl extends BaseServiceImpl<KmtExerciseQ
     }
 
     /**
+     * 查询题目的加工审核员
+     * @param list
+     * @return
+     */
+    private List<TbLibManager> getDealUsers (List<ExerciseQuetionDto> list){
+        List<String> userIds = this.findUserIdsInExerciseQuestionList(list);
+        List<TbLibManager> users = null;
+        if (CollectionUtils.isNotEmpty(userIds)){
+            Integer[] types = {17, 18};
+            users = libManagerMapper.findTbLibManagerByUserIdsAndType(userIds, Arrays.asList(types));
+        }
+        return users;
+    }
+
+    /**
      * 题目转成二级结构
      * @param list
      * @param questionKnows
@@ -242,12 +258,7 @@ public class KmtExerciseQuestionServiceImpl extends BaseServiceImpl<KmtExerciseQ
     private List<ExerciseBookCourseClassDto> getCommonQuestionGroupList (List<ExerciseQuetionDto> list, List<QuestionListKnowModel> questionKnows, boolean hasBigQuestionIndex){
         List<ExerciseBookCourseClassDto> result = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(list)){
-            List<String> userIds = this.findUserIdsInExerciseQuestionList(list);
-            List<TbLibManager> users = null;
-            if (CollectionUtils.isNotEmpty(userIds)){
-                Integer[] types = {17, 18};
-                users = libManagerMapper.findTbLibManagerByUserIdsAndType(userIds, Arrays.asList(types));
-            }
+            List<TbLibManager> users = getDealUsers(list);
             for (ExerciseQuetionDto exerciseQuestionDto : list){
                 this.setQuestionStatus(exerciseQuestionDto);
                 exerciseQuestionDto.setParentId(StringUtil.isBlank(exerciseQuestionDto.getParentId()) ?

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

@@ -1198,9 +1198,10 @@ public interface KmtExerciseMapper {
                                     @Param("bookId") String bookId,
                                     @Param("num") int num);
     @Select("select big_question_index from kmt_exercise_questions where book_course_id=#{bookCourseId} " +
-            " and big_question_index=#{bigQuestionIndex} limit 1")
+            " and big_question_index=#{bigQuestionIndex} and (is_common_flag=0 or exercise_book_id=#{exerciseBookId}) limit 1")
     String findBigQuestionIndexByBookCourseId (@Param("bookCourseId") String bookCourseId,
-                                               @Param("bigQuestionIndex") String bigQuestionIndex);
+                                               @Param("bigQuestionIndex") String bigQuestionIndex,
+                                               @Param("exerciseBookId") String exerciseBookId);
 
     @Select("select * from kmt_exercise_questions where book_course_id=#{bookCourseId} " +
             " and big_question_index=#{bigQuestionIndex} ")

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 1812
ssj-sys/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseServiceImpl.java