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); }); }