From a3cd79870a14ad20966f22702ff409c5f7bec8cc Mon Sep 17 00:00:00 2001
From: Mlxa0324 <mlx950324@163.com>
Date: Sun, 27 Nov 2022 23:49:09 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=80=89=E9=A1=B9=E4=B9=B1?=
 =?UTF-8?q?=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 web/src/main/java/cn/jlw/util/QuestionUtil.java             | 6 +++++-
 .../service/TeacherOpenCourseQuestionSettingService.java    | 5 +++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/web/src/main/java/cn/jlw/util/QuestionUtil.java b/web/src/main/java/cn/jlw/util/QuestionUtil.java
index 9b4d37d2..8f695d89 100644
--- a/web/src/main/java/cn/jlw/util/QuestionUtil.java
+++ b/web/src/main/java/cn/jlw/util/QuestionUtil.java
@@ -72,10 +72,13 @@ public class QuestionUtil {
             if (StrUtil.isBlank(optionText)) {
                 continue;
             }
+            // 属性名称
             String optionName = optionField.getName();
+            // 从属性名称中取A,BCD
+            String beforeLetter = optionName.substring(optionName.length() - 1);
             QuestionInfo questionInfo = QuestionInfo.builder().questionStem(questionStem)
                     .questionType(EnumUtil.likeValueOf(ResourcesQuestionTypeEnum.class, Integer.valueOf(questionType)))
-                    .optionText(optionText).isTrue(trueAnswer.contains(optionName))
+                    .optionText(optionText).isTrue(trueAnswer.contains(beforeLetter))
                     .build();
             Kv.put(optionName, questionInfo);
         }
@@ -121,6 +124,7 @@ public class QuestionUtil {
                 ReflectUtil.setFieldValue(t, trueAnswerFieldName, answer);
                 for (int j = 0; j < optionNames.length; j++) {
                     ReflectUtil.setFieldValue(t, optionNames[j], questionInfos[i].getOptionText());
+                    i++;
                 }
             }
         }catch (Exception e) {
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java
index fefce405..a94f0a1e 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java
@@ -46,6 +46,7 @@ import java.util.stream.Collectors;
 
 import static cn.hutool.core.text.CharSequenceUtil.join;
 import static cn.jlw.util.CacheUserUtil.getStudent;
+import static cn.jlw.util.QuestionUtil.shuffleQuestion;
 import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE;
 import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_FILE;
 import static java.util.stream.Collectors.joining;
@@ -705,8 +706,8 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
         if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseQuestionSettingOptionNoOrder())) {
             // 单题选项排序处理
             resourcesQuestionSnapshots.forEach(value -> {
-//                shuffleQuestion(value, "questionStem","questionOption",
-//                        "questionAnswer", "questionType");
+                shuffleQuestion(value, "questionStem","questionOption",
+                        "questionAnswer", "questionType");
             });
         }