增加题目选项乱序功能,未完

beetlsql3-dev
Mlxa0324
parent f1b3360365
commit 09929b9223

@ -19,7 +19,7 @@ Cookie: JSESSIONID={{session}}
"teacherOpenCourseHomeworkSettingQuestionNoOrder": 1,
"teacherOpenCourseHomeworkSettingOptionNoOrder": 1,
"teacherOpenCourseHomeworkSettingEndShowQa": 1,
"teacherOpenCourseHomeworkSettingEndShowTrueFals": 1,
"teacherOpenCourseHomeworkSettingEndShowTrueFalse": 1,
"teacherOpenCourseHomeworkSettingAddTime": "2022-05-25 03:23:43"
}
}

@ -1,11 +1,17 @@
package com.ibeetl.jlw.entity;
import cn.hutool.core.lang.Assert;
import cn.jlw.util.EnumUtil;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.entity.BaseEntity;
import lombok.Getter;
import org.beetl.sql.annotation.entity.AutoID;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
* -
@ -79,6 +85,64 @@ public class ResourcesQuestion extends BaseEntity{
public ResourcesQuestion(){
}
public enum AnswerEnum {
// TODO mlx 题目乱序
A("getQuestionOptionA"),
B("getQuestionOptionB"),
C("getQuestionOptionC"),
D("getQuestionOptionD"),
E("getQuestionOptionE");
@Getter
private String methodName;
AnswerEnum(String methodName) {
this.methodName = methodName;
}
/**
*
* @param name
* @return
*/
public static String getMethodNameByEnumName(String name) {
List<Object> methodNameObjList = EnumUtil.getFieldValues(AnswerEnum.class, "methodName");
for (AnswerEnum value : values()) {
if (value.name().equalsIgnoreCase(name)) {
return value.getMethodName();
}
}
throw new RuntimeException("未获取到选项对应的方法名!");
}
/**
*
* @param names ABCD
* @return
*/
public static Map<String, String> getMethodNameByEnumName(String... names) {
Map<String, String> nameAndMethod = new HashMap<>(6);
for (AnswerEnum value : values()) {
for (String name : names) {
if (value.name().equalsIgnoreCase(name)) {
nameAndMethod.put(name, value.getMethodName());
}
}
}
return Assert.notEmpty(nameAndMethod, "未获取到选项对应的方法名!");
}
}
/**
*
*/
public void ShuffleOrderOptions() {
}
/**ID
*@return
*/

@ -49,7 +49,7 @@ public class TeacherOpenCourseHomeworkSetting extends BaseEntity{
//答卷后显示答案对错
private Integer teacherOpenCourseHomeworkSettingEndShowTrueFals ;
private Integer teacherOpenCourseHomeworkSettingEndShowTrueFalse;
//创建时间

@ -1,6 +1,7 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.util.ArrayUtil;
import cn.jlw.util.ToolUtils;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CorePlatformService;
@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.*;
import java.math.BigDecimal;
import java.text.DateFormat;
@ -35,6 +37,10 @@ import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import static cn.hutool.core.util.ArrayUtil.join;
import static com.ibeetl.jlw.entity.ResourcesQuestion.AnswerEnum.getMethodNameByEnumName;
import static java.util.stream.Collectors.groupingBy;
/**
* ResourcesQuestion Service
@ -616,4 +622,28 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
return value;
}
/**
*
* @param resourcesApplicationIds
* @return
*/
public Map<Integer, List<ResourcesQuestion>> groupQuestionTypeByResourcesQuestionIds(@NotNull String... resourcesApplicationIds) {
List<ResourcesQuestion> resourcesQuestionList = getByIds(join(resourcesApplicationIds, ","));
return resourcesQuestionList.stream().collect(groupingBy(ResourcesQuestion::getQuestionType));
}
/**
*
* @param questionList
*/
public void ShuffleOrderOptions(List<ResourcesQuestion> questionList) {
questionList.forEach(resourcesQuestion -> {
// 答案集合
String[] answers = ArrayUtil.removeBlank(resourcesQuestion.getQuestionAnswer().split(","));
Map<String, String> nameAndMethod = getMethodNameByEnumName(answers);
});
}
}

@ -11,8 +11,10 @@ import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomeworkSetting;
import com.ibeetl.jlw.enums.FromTypeEnum;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery;
import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery;
@ -178,10 +180,46 @@ public class TeacherOpenCourseHomeworkService extends CoreBaseService<TeacherOpe
/**
*
* @param teacherOpenCourseHomeworkId
* @param teacherOpenCourseHomeworkId ID
* @return
*/
public Object getHomework(String teacherOpenCourseHomeworkId) {
public Object getHomeworkDetail(final Long teacherOpenCourseHomeworkId) {
// 常量 True的Integer表现
final Integer TRUE_CONST = 1;
TeacherOpenCourseHomework homework = getInfo(teacherOpenCourseHomeworkId);
cn.hutool.core.lang.Assert.notNull(homework, "未查询到");
TeacherOpenCourseHomeworkSettingQuery settingQuery = new TeacherOpenCourseHomeworkSettingQuery();
settingQuery.setTeacherOpenCourseHomeworkId(teacherOpenCourseHomeworkId);
TeacherOpenCourseHomeworkSetting hwSetting = teacherOpenCourseHomeworkSettingService.getInfo(settingQuery);
// 作答次数
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingDoCount())) {
}
// 答卷后显示答案解析
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowQa())) {
}
// 答卷后显示答案对错
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowTrueFalse())) {
}
// 选项乱序(限单选、多选)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingOptionNoOrder())) {
}
// 题目乱序(同一大题内)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingQuestionNoOrder())) {
}
return null;
}
}

@ -125,7 +125,8 @@ public class TeacherOpenCourseHomeworkSettingService extends CoreBaseService<Tea
for (ResourcesQuestionSnapshot questionSnapshot : questionSnapshots) {
// 标记关联快照
questionSnapshot.setFromType(fromType);
questionSnapshot.setFromId(query.getTeacherOpenCourseHomeworkSettingId());
// 快照关联作业ID
questionSnapshot.setFromId(query.getTeacherOpenCourseHomeworkId());
}
// 保存到题目快照表

@ -221,8 +221,8 @@ public class TeacherOpenCourseHomeworkController {
*/
@PostMapping(MODEL + "/homework.json")
@Function("teacherOpenCourseHomework.query")
public JsonResult homework(String teacherOpenCourseHomeworkId) {
return JsonResult.success(teacherOpenCourseHomeworkService.getHomework(teacherOpenCourseHomeworkId));
public JsonResult getHomeworkDetail(Long teacherOpenCourseHomeworkId) {
return JsonResult.success(teacherOpenCourseHomeworkService.getHomeworkDetail(teacherOpenCourseHomeworkId));
}
}

@ -32,7 +32,7 @@ public class TeacherOpenCourseHomeworkSettingQuery extends PageParam {
@Query(name = "答卷后显示答案解析", display = false)
private Integer teacherOpenCourseHomeworkSettingEndShowQa;
@Query(name = "答卷后显示答案对错", display = false)
private Integer teacherOpenCourseHomeworkSettingEndShowTrueFals;
private Integer teacherOpenCourseHomeworkSettingEndShowTrueFalse;
@Query(name = "创建时间", display = false)
private Date teacherOpenCourseHomeworkSettingAddTime;
@Query(name = "组织ID", display = false)
@ -65,7 +65,7 @@ public class TeacherOpenCourseHomeworkSettingQuery extends PageParam {
pojo.setTeacherOpenCourseHomeworkSettingQuestionNoOrder(this.getTeacherOpenCourseHomeworkSettingQuestionNoOrder());
pojo.setTeacherOpenCourseHomeworkSettingOptionNoOrder(this.getTeacherOpenCourseHomeworkSettingOptionNoOrder());
pojo.setTeacherOpenCourseHomeworkSettingEndShowQa(this.getTeacherOpenCourseHomeworkSettingEndShowQa());
pojo.setTeacherOpenCourseHomeworkSettingEndShowTrueFals(this.getTeacherOpenCourseHomeworkSettingEndShowTrueFals());
pojo.setTeacherOpenCourseHomeworkSettingEndShowTrueFalse(this.getTeacherOpenCourseHomeworkSettingEndShowTrueFalse());
pojo.setTeacherOpenCourseHomeworkSettingAddTime(this.getTeacherOpenCourseHomeworkSettingAddTime());
pojo.setOrgId(this.getOrgId());
pojo.setUserId(this.getUserId());

@ -151,7 +151,7 @@ class TeacherOpenCourseHomeworkControllerTest extends BaseTest {
ea.setTeacherOpenCourseHomeworkId(e.getTeacherOpenCourseHomeworkId());
ea.setTeacherOpenCourseHomeworkSettingDoCount(1);
ea.setTeacherOpenCourseHomeworkSettingEndShowQa(1);
ea.setTeacherOpenCourseHomeworkSettingEndShowTrueFals(1);
ea.setTeacherOpenCourseHomeworkSettingEndShowTrueFalse(1);
ea.setTeacherOpenCourseHomeworkSettingOptionNoOrder(1);
ea.setTeacherOpenCourseHomeworkSettingQuestionNoOrder(1);
ea.setTeacherOpenCourseHomeworkSettingSchoolClassIds(schoolClassIds);

Loading…
Cancel
Save