Browse Source

必填答案变成两个

xgb 1 day ago
parent
commit
02186411fc

+ 2 - 1
fs-service/src/main/java/com/fs/course/dto/FsCourseQuestionBankImportDTO.java

@@ -30,7 +30,8 @@ public class FsCourseQuestionBankImportDTO {
     @Excel(name = "选项B(必填)")
     private String questionB;
 
-    @Excel(name = "选项C(必填)")
+    // 鹤颜堂项目有两个答案的
+    @Excel(name = "选项C(非必填)")
     private String questionC;
 
     @Excel(name = "选项D(非必填)")

+ 13 - 7
fs-service/src/main/java/com/fs/course/service/impl/FsCourseQuestionBankServiceImpl.java

@@ -539,13 +539,13 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
     }
 
     /**
-     * 验证选项
+     * 验证选项 鹤颜堂项目允许两个答案
      */
     private ValidationResult validateOptions(FsCourseQuestionBankImportDTO importDTO) {
         if (StringUtils.isBlank(importDTO.getQuestionA()) ||
-                StringUtils.isBlank(importDTO.getQuestionB()) ||
-                StringUtils.isBlank(importDTO.getQuestionC())) {
-            return ValidationResult.fail("选项A、B、C不能为空");
+                StringUtils.isBlank(importDTO.getQuestionB())
+                ) {
+            return ValidationResult.fail("选项A、B不能为空");
         }
         return ValidationResult.success();
     }
@@ -672,7 +672,9 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
         // 构建选项
         addOption(questionArray, importDTO.getQuestionA(), answerList.contains("A"), 0);
         addOption(questionArray, importDTO.getQuestionB(), answerList.contains("B"), 1);
-        addOption(questionArray, importDTO.getQuestionC(), answerList.contains("C"), 2);
+        if (StringUtils.isNotBlank(importDTO.getQuestionC())) {
+            addOption(questionArray, importDTO.getQuestionC(), answerList.contains("C"), 2);
+        }
 
         if (StringUtils.isNotBlank(importDTO.getQuestionD())) {
             addOption(questionArray, importDTO.getQuestionD(), answerList.contains("D"), 3);
@@ -703,8 +705,12 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
         Map<String, String> questionMap = new HashMap<>();
         questionMap.put("A", importDTO.getQuestionA().trim());
         questionMap.put("B", importDTO.getQuestionB().trim());
-        questionMap.put("C", importDTO.getQuestionC().trim());
-        questionMap.put("D", importDTO.getQuestionD().trim());
+        if(StringUtils.isNotBlank(importDTO.getQuestionC())){
+            questionMap.put("C", importDTO.getQuestionC().trim());
+        }
+        if(StringUtils.isNotBlank(importDTO.getQuestionD())){
+            questionMap.put("D", importDTO.getQuestionD().trim());
+        }
 
         List<String> selectedAnswers = answerList.stream()
                 .map(questionMap::get)