diff --git a/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestionOptionEntity.java b/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestionOptionEntity.java
index 3aaa5f10..4b297949 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestionOptionEntity.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestionOptionEntity.java
@@ -5,6 +5,8 @@ import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ReflectUtil;
+import com.ibeetl.jlw.enums.ResourcesQuestionTypeEnum;
+import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
@@ -23,6 +25,7 @@ import static org.apache.commons.lang3.StringUtils.upperCase;
  */
 public class ResourcesQuestionOptionEntity {
 
+
     private final Map<String, Boolean> optionTextMap = new HashMap(6);
 
     public void put(String optionText, Boolean value) {
@@ -125,8 +128,8 @@ public class ResourcesQuestionOptionEntity {
         // 答案和选项ABCDEF..对应
         Map<String, String> answerMap = new HashMap<>(6);
         // 判断题目是否有重复的值
-        Assert.isTrue(optionTextList.size() == lastLetterFieldNameList.size(),
-                "答案中有重复的值,请检查!");
+//        Assert.isTrue(optionTextList.size() == lastLetterFieldNameList.size(),
+//                "答案中有重复的值,请检查!");
 
         // 乱序集合处理
         for (int i = 0; i < lastLetterFieldNameList.size(); i++) {
@@ -172,4 +175,51 @@ public class ResourcesQuestionOptionEntity {
         Field[] fields = ReflectUtil.getFieldsDirectly(clazz, false);
         verifyFieldExists(fields, answerFieldName, prefix);
     }
+
+    /**
+     * 横表结构转纵表结构
+     * 题目选项获取
+     * @param obj
+     * @param stemFieldName         题干属性名
+     * @param optionFieldName       选项属性名
+     * @param trueOptionFieldName   答案的属性名
+     * @param lastIsUppercase       选项属性名是否结尾大写
+     * @return
+     */
+//    public static List<QuestionInfo> getQuestionList(Object obj, final String stemFieldName,
+//                                                     final String optionFieldName,
+//                                                     final String trueOptionFieldName, Boolean lastIsUppercase) {
+//        ReflectUtil.getFields(obj, field -> {
+//            field.getName().
+//        })
+//    }
+
+    @Data
+    public static class QuestionInfo {
+
+        /**
+         * 题干
+         */
+        private String questionStem;
+
+        /**
+         * 题目选项
+         */
+        private String optionText;
+
+        /**
+         * 选项字母
+         */
+        private String optionLetter;
+
+        /**
+         * 是否正确答案
+         */
+        private boolean isTrue;
+
+        /**
+         * 题型
+         */
+        private ResourcesQuestionTypeEnum questionType;
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java
index 29bb3e41..bfcaef45 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java
@@ -607,7 +607,7 @@ public class GeneralQuestionLogService extends CoreBaseService<GeneralQuestionLo
      * @param setting
      * @param resourcesQuestionSnapshots
      */
-    public void preSubmitStudentQuestionLog(@NotBlank(message = "学生ID不能为空!") final Long studentId,
+    public void preSubmitStudentQuestionLog(@NotNull(message = "学生ID不能为空!") final Long studentId,
                                             @NotNull(message = "题目配置不能为空!") final GeneralQuestionSetting setting,
                                             @NotEmpty(message = "题目快照列表不能为空!") List<GeneralResourcesQuestionSnapshot> resourcesQuestionSnapshots) {
 
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
index 10d19b48..0f1a08d4 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
@@ -417,8 +417,8 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
      *
      * @param studentId
      */
-    public void preSubmitStudentQuestionLog(@NotBlank(message = "学生ID不能为空!") final Long studentId,
-                                            @NotBlank(message = "题目配置ID不能为空!") TeacherOpenCourseQuestionSetting setting,
+    public void preSubmitStudentQuestionLog(@NotNull(message = "学生ID不能为空!") final Long studentId,
+                                            @NotNull(message = "题目配置ID不能为空!") TeacherOpenCourseQuestionSetting setting,
                                             @NotEmpty(message = "题目快照列表不能为空!") List<ResourcesQuestionSnapshot> resourcesQuestionSnapshots) {
 
         if (CollectionUtil.isEmpty(resourcesQuestionSnapshots)) {
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 fafb640f..edf01de9 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java
@@ -46,7 +46,6 @@ import java.util.stream.Collectors;
 
 import static cn.hutool.core.text.CharSequenceUtil.join;
 import static cn.jlw.util.CacheUserUtil.getStudent;
-import static com.ibeetl.jlw.entity.ResourcesQuestionOptionEntity.shuffleOrderOptions;
 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;
@@ -704,7 +703,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
         if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseQuestionSettingOptionNoOrder())) {
             // 单题选项排序处理
             resourcesQuestionSnapshots.forEach(value -> {
-                shuffleOrderOptions(value, "questionAnswer","questionOption", true);
+//                shuffleOrderOptions(value, "questionAnswer","questionOption", true);
             });
         }