beetlsql3-dev
Mlxa0324 2 years ago
parent 5bd43c3684
commit 62da14583e

@ -5,6 +5,8 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ReflectUtil;
import com.ibeetl.jlw.enums.ResourcesQuestionTypeEnum;
import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
@ -23,6 +25,7 @@ import static org.apache.commons.lang3.StringUtils.upperCase;
*/ */
public class ResourcesQuestionOptionEntity { public class ResourcesQuestionOptionEntity {
private final Map<String, Boolean> optionTextMap = new HashMap(6); private final Map<String, Boolean> optionTextMap = new HashMap(6);
public void put(String optionText, Boolean value) { public void put(String optionText, Boolean value) {
@ -125,8 +128,8 @@ public class ResourcesQuestionOptionEntity {
// 答案和选项ABCDEF..对应 // 答案和选项ABCDEF..对应
Map<String, String> answerMap = new HashMap<>(6); 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++) { for (int i = 0; i < lastLetterFieldNameList.size(); i++) {
@ -172,4 +175,51 @@ public class ResourcesQuestionOptionEntity {
Field[] fields = ReflectUtil.getFieldsDirectly(clazz, false); Field[] fields = ReflectUtil.getFieldsDirectly(clazz, false);
verifyFieldExists(fields, answerFieldName, prefix); 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;
}
} }

@ -607,7 +607,7 @@ public class GeneralQuestionLogService extends CoreBaseService<GeneralQuestionLo
* @param setting * @param setting
* @param resourcesQuestionSnapshots * @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, @NotNull(message = "题目配置不能为空!") final GeneralQuestionSetting setting,
@NotEmpty(message = "题目快照列表不能为空!") List<GeneralResourcesQuestionSnapshot> resourcesQuestionSnapshots) { @NotEmpty(message = "题目快照列表不能为空!") List<GeneralResourcesQuestionSnapshot> resourcesQuestionSnapshots) {

@ -417,8 +417,8 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
* *
* @param studentId * @param studentId
*/ */
public void preSubmitStudentQuestionLog(@NotBlank(message = "学生ID不能为空") final Long studentId, public void preSubmitStudentQuestionLog(@NotNull(message = "学生ID不能为空") final Long studentId,
@NotBlank(message = "题目配置ID不能为空") TeacherOpenCourseQuestionSetting setting, @NotNull(message = "题目配置ID不能为空") TeacherOpenCourseQuestionSetting setting,
@NotEmpty(message = "题目快照列表不能为空!") List<ResourcesQuestionSnapshot> resourcesQuestionSnapshots) { @NotEmpty(message = "题目快照列表不能为空!") List<ResourcesQuestionSnapshot> resourcesQuestionSnapshots) {
if (CollectionUtil.isEmpty(resourcesQuestionSnapshots)) { if (CollectionUtil.isEmpty(resourcesQuestionSnapshots)) {

@ -46,7 +46,6 @@ import java.util.stream.Collectors;
import static cn.hutool.core.text.CharSequenceUtil.join; import static cn.hutool.core.text.CharSequenceUtil.join;
import static cn.jlw.util.CacheUserUtil.getStudent; 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.CHAPTER_EXERCISE;
import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_FILE; import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_FILE;
import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.joining;
@ -704,7 +703,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseQuestionSettingOptionNoOrder())) { if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseQuestionSettingOptionNoOrder())) {
// 单题选项排序处理 // 单题选项排序处理
resourcesQuestionSnapshots.forEach(value -> { resourcesQuestionSnapshots.forEach(value -> {
shuffleOrderOptions(value, "questionAnswer","questionOption", true); // shuffleOrderOptions(value, "questionAnswer","questionOption", true);
}); });
} }

Loading…
Cancel
Save