فهرست منبع

Merge branch 'bug-branch' of chchen/exercise into master

930问题修复
chchen 5 سال پیش
والد
کامیت
7fe673324c

+ 7 - 1
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/exercisesys/KmtExerciseSysServiceImpl.java

@@ -236,7 +236,8 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
     @Override
     public ResponseEntity accountLogin(String loginName, String password) {
         ResponseEntity responseEntity = new ResponseEntity();
-        if (adminService.loginLocking(loginName, "KMT_SYS")) {
+        String sysEnv = (String) SystemResourceLocator.getValue("SYS_ENV");
+        if ("1".equals(sysEnv) && adminService.loginLocking(loginName, "KMT_SYS")) {
             return responseEntity.failure("您的账号已被锁定,请30分钟后重试");
         }
         User user = userService.findByMobile(loginName);
@@ -258,6 +259,11 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
                     data.put("binded", 1);
                 }
 
+                //测试环境无须绑定
+                if ("2".equals(sysEnv)){
+                    data.put("binded", 1);
+                }
+
                 responseEntity.success(data, "登录成功");
                 tokenManager.clearPasswordWrongRecord(loginName);
             } else {

+ 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, "当前课时已存在该大题号,修改失败");
                         }

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

@@ -152,6 +152,15 @@ public class KmtExerciseQuestionServiceImpl extends BaseServiceImpl<KmtExerciseQ
                         q.setIsCommonFlag(q.getIsCommonFlag() == 0 ? 1 : 0);
                     }
                 }
+            } else if(request.getBookPartType() == 2) {
+                //查询不同的题目
+                String temp = kmtExerciseMapper.findDifferentExerciseBookId(request.getQuestionId().trim());
+                questions = kmtExerciseMapper.findPartQuestionByBookCourseId(request.getPeriodId(), request.getExerciseBookId(), page);
+                if (StringUtil.isNotBlank(temp)){
+                    for (ExerciseQuetionDto q : questions){
+                        q.setIsCommonFlag(q.getIsCommonFlag() == 0 ? 1 : 0);
+                    }
+                }
             } else {
                 String temp = kmtExerciseMapper.findDifferentExerciseBookIdByBookId(request.getBookId());
                 questions = kmtExerciseMapperService.findQuestionByBookCourseIdAndUserId(request, page,  userId);
@@ -191,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){
@@ -224,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
@@ -233,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} ")

+ 5 - 1
ssj-sys/src/main/java/com/ssj/service/kmt/exercisesys/KmtExerciseSysServiceImpl.java

@@ -237,7 +237,6 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
     public ResponseEntity accountLogin(String loginName, String password) {
         ResponseEntity responseEntity = new ResponseEntity();
         String sysEnv = (String) SystemResourceLocator.getValue("SYS_ENV");
-        String code;
         if ("1".equals(sysEnv) && adminService.loginLocking(loginName, "KMT_SYS")) {
             return responseEntity.failure("您的账号已被锁定,请30分钟后重试");
         }
@@ -259,6 +258,11 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
                 if (StringUtil.isNotBlank(loginUser.getUnionid())){
                     data.put("binded", 1);
                 }
+                //测试环境无须绑定
+                if ("2".equals(sysEnv)){
+                    data.put("binded", 1);
+                }
+
 
                 responseEntity.success(data, "登录成功");
                 tokenManager.clearPasswordWrongRecord(loginName);

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1812
ssj-sys/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseServiceImpl.java