Przeglądaj źródła

修正多选答案判断逻辑不正确

mingfu 1 dzień temu
rodzic
commit
c865a0be80

+ 8 - 0
ie-common/src/main/java/com/ruoyi/common/utils/StringUtils.java

@@ -815,6 +815,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
         return optionList;
     }
 
+    public static List<String> charStr2List(String str) {
+        List<String> list = Lists.newArrayList();
+        for(char c : str.toCharArray()) {
+            list.add(String.valueOf(c));
+        }
+        return list;
+    }
+
     public static void main(String[] args) {
         System.out.println(reverseCourse("物理,化学,生物"));
     }

+ 2 - 1
ie-system/src/main/java/com/ruoyi/learn/domain/PaperVO.java

@@ -1,5 +1,6 @@
 package com.ruoyi.learn.domain;
 
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.enums.QuestionType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -103,7 +104,7 @@ public class PaperVO {
                     if(CollectionUtils.isEmpty(answers)) {
                         return 4;
                     }
-                    List<String> stdAnswers = Arrays.asList(std.getAnswer1().split(","));
+                    List<String> stdAnswers = StringUtils.charStr2List(answer1); // 多选的 answer1 无逗号分隔
                     return stdAnswers.size() == answers.size() && CollectionUtils.intersection(stdAnswers, answers).size() == answers.size() ? 1 : 2;
                 } else {
                     if(CollectionUtils.isEmpty(answers)) {