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

beetlsql3-dev
Mlxa0324 3 years ago
parent f1b3360365
commit 09929b9223

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

@ -1,11 +1,17 @@
package com.ibeetl.jlw.entity; package com.ibeetl.jlw.entity;
import cn.hutool.core.lang.Assert;
import cn.jlw.util.EnumUtil;
import cn.jlw.validate.ValidateConfig; import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.entity.BaseEntity; import com.ibeetl.admin.core.entity.BaseEntity;
import lombok.Getter;
import org.beetl.sql.annotation.entity.AutoID; import org.beetl.sql.annotation.entity.AutoID;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; 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 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 /**ID
*@return *@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; package com.ibeetl.jlw.service;
import cn.hutool.core.util.ArrayUtil;
import cn.jlw.util.ToolUtils; import cn.jlw.util.ToolUtils;
import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CorePlatformService; import com.ibeetl.admin.core.service.CorePlatformService;
@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DateFormat; import java.text.DateFormat;
@ -35,6 +37,10 @@ import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; 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 * ResourcesQuestion Service
@ -616,4 +622,28 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
return value; 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.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao; import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework; import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomeworkSetting;
import com.ibeetl.jlw.enums.FromTypeEnum; import com.ibeetl.jlw.enums.FromTypeEnum;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.SqlId; import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.core.engine.PageQuery;
@ -178,10 +180,46 @@ public class TeacherOpenCourseHomeworkService extends CoreBaseService<TeacherOpe
/** /**
* *
* @param teacherOpenCourseHomeworkId * @param teacherOpenCourseHomeworkId ID
* @return * @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; return null;
} }
} }

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

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

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

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

Loading…
Cancel
Save