浏览代码

fix: 修复多选题判题bug

weijin 4 年之前
父节点
当前提交
acf19e8480

+ 2 - 2
judgement-common/src/main/java/cn/seecoder/judgement/vo/question/BaseQuestionVO.java

@@ -34,8 +34,8 @@ public abstract class BaseQuestionVO {
                 return new TrueOrFalseQuestionVO(questionVO, withAnswer);
             case BLANK:
                 return new BlankQuestionVO(questionVO, withAnswer);
-//            case multiple_choice:
-//                return new MultipleChoiceQuestionVO(questionVO, withAnswer);
+            case MULTIPLE_CHOICE:
+                return new MultipleChoiceQuestionVO(questionVO, withAnswer);
             default:
                 return null;
         }

+ 31 - 0
judgement-common/src/main/java/cn/seecoder/judgement/vo/question/MultipleChoiceQuestionVO.java

@@ -0,0 +1,31 @@
+package cn.seecoder.judgement.vo.question;
+
+import cn.seecoder.bok.common.vo.QuestionVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NonNull;
+
+/**
+ * @author xst
+ * <p>
+ * updated by cst
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class MultipleChoiceQuestionVO extends BaseQuestionVO {
+    private String answer;
+
+    public MultipleChoiceQuestionVO(@NonNull QuestionVO questionVO, boolean withAnswer) {
+        super(questionVO);
+
+        if (withAnswer) {
+            this.answer = questionVO.getAnswer();
+            this.analysis = questionVO.getAnalysis();
+        }
+    }
+
+    @Override
+    public boolean pass(Object answer) {
+        return this.answer.equals(String.valueOf(answer));
+    }
+}