Răsfoiți Sursa

fix:题目分组完整性校验

caozixuan 3 ani în urmă
părinte
comite
be57f29c3a

+ 8 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPaperStructureServiceImpl.java

@@ -282,15 +282,17 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
     public ExamPaperStructure submitExamPaperParams(String evaluationParameterStr, SysUser requestUser) {
         // 1.判断试卷中主观题是否全部完成分组
         EvaluationParameters evaluationParameters = JSON.parseObject(evaluationParameterStr, EvaluationParameters.class);
-//        Question.matchTwoQuestionList(evaluationParameters.getPaperStructureInfo().getSubjectiveQuestionList(),
-//                evaluationParameters.getGroupInfo().stream().flatMap(e -> {
-//                    List<Question> questionList = e.getQuestions();
-//
-//                }).collect(Collectors.toList()));
+        boolean matchSubAndGroup = Question.matchTwoQuestionList(evaluationParameters.getPaperStructureInfo().getSubjectiveQuestionList(),
+                evaluationParameters.getGroupInfo().stream().flatMap(e -> {
+                    List<Question> questionList = e.getQuestions();
+                    return questionList.stream();
+                }).collect(Collectors.toList()));
+        if (!matchSubAndGroup) {
+            throw ExceptionResultEnum.ERROR.exception("题目没有全部完成分组或者试卷机构中的主观题结构和分组中主观题结构不一致");
+        }
         // 2.保存试卷结构
         ExamPaperStructure examPaperStructure = this.saveExamPaperStructure(evaluationParameterStr, requestUser);
         // 3.保存分组和分组关系信息
-
         examPaperGroupService.saveExamPaperGroupInfo(examPaperStructure.getId(), evaluationParameters.getGroupInfo());
         // 返回试卷结构信息
         return examPaperStructure;

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -65,15 +65,15 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         List<SysUserResult> sysUserResultList = sysUserService.findSysUserResultList();
         List<SysUserResult> finalSysUserResultList = sysUserResultList.stream()
                 .filter(e -> {
-                    if (Objects.isNull(specialPrivilegeEnum)){
+                    if (Objects.isNull(specialPrivilegeEnum)) {
                         return true;
-                    }else {
+                    } else {
                         // 用户特殊权限
                         SpecialPrivilegeEnum userP = sysUserService.findUserSpecialPrivilegeByUserId(e.getId());
                         // 如果用户是复合权限,条件为复合、评卷员、科组长都可以
-                        if (SpecialPrivilegeEnum.COMPOSITE.equals(userP)){
+                        if (SpecialPrivilegeEnum.COMPOSITE.equals(userP)) {
                             return SpecialPrivilegeEnum.COMPOSITE.equals(specialPrivilegeEnum) || SpecialPrivilegeEnum.MARKER.equals(specialPrivilegeEnum) || SpecialPrivilegeEnum.SUBJECT_HEADER.equals(specialPrivilegeEnum);
-                        }else {
+                        } else {
                             // 如果用户不是复合条件,用户权限和条件权限对应
                             return specialPrivilegeEnum.equals(userP);
                         }