题目日志详情,返回题目快照实体

beetlsql3-dev
Mlxa0324
parent 9b64f1f4b0
commit 7f6155fba7

@ -1,12 +1,12 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
@ -495,27 +495,27 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
query.setTeacherOpenCourseQuestionSettingId(questionSettingId);
query.setTeacherOpenCourseQuestionLogStatus(1);
query.setStudentId(studentId);
List<TeacherOpenCourseQuestionLog> valuesByQuery = getValuesByQueryNotWithPermission(query);
return questionAnalysis(valuesByQuery);
}
/**
*
* Bean Copy
* @param questionSettingId ID
* @param studentId ID
* @return
*/
private List<ResourcesQuestionSnapshot> questionAnalysisNotType(Long questionSettingId, Long studentId) {
public List<ResourcesQuestionSnapshot> questionAnalysisBySettingId2(Long questionSettingId, Long studentId) {
Map<Integer, List<TeacherOpenCourseQuestionLog>> tempMap = questionAnalysis(questionSettingId, studentId);
List<TeacherOpenCourseQuestionLog> collect = tempMap.values().stream().flatMap(Collection::stream).collect(Collectors.toList());
List<ResourcesQuestionSnapshot> result = new ArrayList<>();
Map<String, String> build = MapUtil.builder("courseInfoId", "teacherOpenCourseMergeCourseInfoId").build();
CopyOptions copyOptions = CopyOptions.create().setFieldMapping(build);
// 循环遍历某些特殊的属性,单独映射
Optional.ofNullable(collect).ifPresent(item -> {
for (TeacherOpenCourseQuestionLog questionLog : item) {
ResourcesQuestionSnapshot resourcesQuestionSnapshot = new ResourcesQuestionSnapshot();
BeanUtil.copyProperties(questionLog, resourcesQuestionSnapshot, copyOptions);
ResourcesQuestionSnapshot resourcesQuestionSnapshot = BeanUtil.copyProperties(questionLog, ResourcesQuestionSnapshot.class);
// 学生提交过的答案
resourcesQuestionSnapshot.set("teacherOpenCourseQuestionLogAnswer", questionLog.getTeacherOpenCourseQuestionLogAnswer());
result.add(resourcesQuestionSnapshot);
}
@ -545,6 +545,11 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
*/
public Map<Integer, List<TeacherOpenCourseQuestionLog>> questionAnalysis(@NotEmpty(message = "未查询到题目列表!") final List<TeacherOpenCourseQuestionLog> questionLogList) {
// 如果未查询到题目日志返回空Map
if (ObjectUtil.isEmpty(questionLogList)) {
return MapUtil.empty();
}
TeacherOpenCourseQuestionSettingQuery settingQuery = new TeacherOpenCourseQuestionSettingQuery();
settingQuery.setTeacherOpenCourseQuestionSettingId(questionLogList.get(0).getTeacherOpenCourseQuestionSettingId());
final TeacherOpenCourseQuestionSetting hwSetting = teacherOpenCourseQuestionSettingService.getInfo(settingQuery);
@ -555,11 +560,9 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
final Boolean isEndShowTrueFalse = BooleanUtil.toBoolean(String.valueOf(hwSetting.getTeacherOpenCourseQuestionSettingEndShowTrueFalse()));
return questionLogList.stream().map(item -> {
TeacherOpenCourseQuestionLog questionLog = new TeacherOpenCourseQuestionLog();
questionLog.setResourcesQuestionSnapshotId(item.getResourcesQuestionSnapshotId());
questionLog.setQuestionAnswer(isEndShowQa ? item.getQuestionAnswer() : "");
questionLog.setQuestionAnalysis(isEndShowTrueFalse ? item.getQuestionAnswer(): "");
return questionLog;
item.setQuestionAnswer(isEndShowQa ? item.getQuestionAnswer() : "");
item.setQuestionAnalysis(isEndShowTrueFalse ? item.getQuestionAnswer(): "");
return item;
}).collect(groupingBy(TeacherOpenCourseQuestionLog::getQuestionType));
}

@ -12,6 +12,7 @@ import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.BeanCopyUtil;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.query.PageParam;
import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog;
import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO;
@ -172,14 +173,16 @@ public class TeacherOpenCourseQuestionLogController {
/**
* -
* 便
*
* @param questionSettingId ID
* @param student
* @return
*/
@PostMapping(API + "/questionAnalysisBySettingId.do")
public JsonResult<List<TeacherOpenCourseQuestionLog>> questionAnalysisBySettingId(Long questionSettingId, @TStudent Student student) {
@PostMapping(API + "/questionAnalysisBySettingId2.do")
public JsonResult<List<ResourcesQuestionSnapshot>> questionAnalysisBySettingId2(Long questionSettingId, @TStudent Student student) {
Assert.notNull(student, "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSettingId, student.getStudentId()));
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysisBySettingId2(questionSettingId, student.getStudentId()));
}
/**

Loading…
Cancel
Save