做题日志获取答案

beetlsql3-dev
Mlxa0324 2 years ago
parent 5df2ad7ec4
commit 53efb4a946

@ -362,3 +362,4 @@ ALTER TABLE teacher_open_course_merge_schedule_session ADD COLUMN teacher_open_c
-- 回显用
ALTER TABLE resources_question_snapshot ADD COLUMN teacher_open_course_merge_resources_question_id bigint COMMENT '开课题目ID';
ALTER TABLE teacher_open_course_question_log ADD COLUMN question_analysis varchar(1000) COMMENT '解析';

@ -4,9 +4,10 @@ import com.ibeetl.admin.core.entity.CoreOrg;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.Teacher;
import com.ibeetl.jlw.entity.UniversitiesColleges;
import static com.ibeetl.admin.core.service.CorePlatformService.ACCESS_CURRENT_ORG;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
import static com.ibeetl.admin.core.service.CorePlatformService.*;
import static com.ibeetl.admin.core.util.servlet.ServletUtils.getRequest;
/**
@ -26,10 +27,30 @@ public final class CacheUserUtil {
private CacheUserUtil() {
}
/**
*
* @return
*/
public static Student getStudent() {
checkSession();
return (Student)getRequest().getSession().getAttribute(T_STUDENT);
}
/**
*
* @return
*/
public static Teacher getTeacher() {
checkSession();
return (Teacher)getRequest().getSession().getAttribute(T_TEACHER);
}
/**
*
* @return
*/
public static UniversitiesColleges getUniAdmin() {
checkSession();
return (UniversitiesColleges)getRequest().getSession().getAttribute(T_COLLEGES_ADMIN);
}
public static void checkSession() {
CoreOrg org = (CoreOrg) getRequest().getSession().getAttribute(ACCESS_CURRENT_ORG);

@ -1,7 +1,8 @@
package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.beetl.sql.annotation.entity.AutoID;
import org.beetl.sql.annotation.entity.InsertIgnore;
import org.beetl.sql.annotation.entity.Table;
@ -20,8 +21,9 @@ import java.util.List;
@Data
@Fetch(level = 5)
@Table(name = "teacher_open_course_merge_course_info")
@EqualsAndHashCode(callSuper=false)
@SuppressWarnings("ALL")
public class TeacherOpenCourseMergeCourseInfoTree {
public class TeacherOpenCourseMergeCourseInfoTree extends BaseEntity {
//ID
@AutoID
@ -46,7 +48,6 @@ public class TeacherOpenCourseMergeCourseInfoTree {
private String courseInfoThumbnail ;
//课程标签ID
@Dict
private Long courseLabelId ;
@UpdateIgnore

@ -103,6 +103,10 @@ public class TeacherOpenCourseQuestionLog extends BaseEntity{
private String questionAnswer ;
//解析
private String questionAnalysis ;
//组织ID
private Long orgId ;

@ -864,7 +864,9 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
*/
public TeacherOpenCourseMergeCourseInfoTree getTreeLocalCacheByTeacherOpenCourseId(
@NotNull(message = "开课ID不能为空") final Long teacherOpenCourseId) {
return treeLocalCache.getUnchecked(teacherOpenCourseId).orNull();
TeacherOpenCourseMergeCourseInfoTree teacherOpenCourseMergeCourseInfoTree = treeLocalCache.getUnchecked(teacherOpenCourseId).orNull();
dictParser(teacherOpenCourseMergeCourseInfoTree);
return teacherOpenCourseMergeCourseInfoTree;
}
/**

@ -19,7 +19,6 @@ import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionSetting;
import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionSettingQuery;
import lombok.extern.slf4j.Slf4j;
@ -171,6 +170,9 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
public List<TeacherOpenCourseQuestionLog> getValuesByQuery (TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery){
return teacherOpenCourseQuestionLogDao.getValuesByQuery(teacherOpenCourseQuestionLogQuery);
}
public List<TeacherOpenCourseQuestionLog> getValuesByQueryNotWithPermission (TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery){
return teacherOpenCourseQuestionLogDao.getValuesByQueryNotWithPermission(teacherOpenCourseQuestionLogQuery);
}
public TeacherOpenCourseQuestionLog getInfo (Long teacherOpenCourseQuestionLogId){
TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery = new TeacherOpenCourseQuestionLogQuery();
@ -390,11 +392,12 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
* @param questionSettingId
* @return
*/
public Map<Integer, List<ResourcesQuestionSnapshot>> questionAnalysis(@NotNull(message = "题目配置ID不能为空") Long questionSettingId) {
ResourcesQuestionSnapshotQuery resourcesQuestionSnapshotQuery = new ResourcesQuestionSnapshotQuery();
resourcesQuestionSnapshotQuery.setTeacherOpenCourseQuestionSettingId(questionSettingId);
resourcesQuestionSnapshotQuery.setQuestionStatus(1);
List<ResourcesQuestionSnapshot> valuesByQuery = resourcesQuestionSnapshotDao.getValuesByQuery(resourcesQuestionSnapshotQuery);
public Map<Integer, List<TeacherOpenCourseQuestionLog>> questionAnalysis(@NotNull(message = "题目配置ID不能为空") Long questionSettingId, @NotNull(message = "学生ID不能为空") Long studentId) {
TeacherOpenCourseQuestionLogQuery query = new TeacherOpenCourseQuestionLogQuery();
query.setTeacherOpenCourseQuestionSettingId(questionSettingId);
query.setTeacherOpenCourseQuestionLogStatus(1);
query.setStudentId(studentId);
List<TeacherOpenCourseQuestionLog> valuesByQuery = getValuesByQueryNotWithPermission(query);
return questionAnalysis(valuesByQuery);
}
@ -404,20 +407,24 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
* @param questionSnapshotIds
* @return
*/
public Map<Integer, List<ResourcesQuestionSnapshot>> questionAnalysis(@NotNull(message = "题目配置ID不能为空") TreeSet<Long> questionSnapshotIds) {
List<ResourcesQuestionSnapshot> valuesByQuery = resourcesQuestionSnapshotDao.getByIds(join(questionSnapshotIds.toArray(), ","));
public Map<Integer, List<TeacherOpenCourseQuestionLog>> questionAnalysis(@NotNull(message = "题目配置ID不能为空") TreeSet<Long> questionSnapshotIds, @NotNull(message = "学生ID不能为空") Long studentId) {
TeacherOpenCourseQuestionLogQuery query = new TeacherOpenCourseQuestionLogQuery();
query.setResourcesQuestionSnapshotIdPlural(join(questionSnapshotIds.toArray(), ","));
query.setTeacherOpenCourseQuestionLogStatus(1);
query.setStudentId(studentId);
List<TeacherOpenCourseQuestionLog> valuesByQuery = getValuesByQueryNotWithPermission(query);
return questionAnalysis(valuesByQuery);
}
/**
* -
* @param questionSnapshots
* @param questionLogList
* @return
*/
public Map<Integer, List<ResourcesQuestionSnapshot>> questionAnalysis(@NotEmpty(message = "未查询到题目列表!") final List<ResourcesQuestionSnapshot> questionSnapshots) {
public Map<Integer, List<TeacherOpenCourseQuestionLog>> questionAnalysis(@NotEmpty(message = "未查询到题目列表!") final List<TeacherOpenCourseQuestionLog> questionLogList) {
TeacherOpenCourseQuestionSettingQuery settingQuery = new TeacherOpenCourseQuestionSettingQuery();
settingQuery.setTeacherOpenCourseQuestionSettingId(questionSnapshots.get(0).getTeacherOpenCourseQuestionSettingId());
settingQuery.setTeacherOpenCourseQuestionSettingId(questionLogList.get(0).getTeacherOpenCourseQuestionSettingId());
final TeacherOpenCourseQuestionSetting hwSetting = teacherOpenCourseQuestionSettingService.getInfo(settingQuery);
// 答卷后显示答案解析
@ -425,13 +432,13 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
// 答卷后显示答案对错
final Boolean isEndShowTrueFalse = BooleanUtil.toBoolean(String.valueOf(hwSetting.getTeacherOpenCourseQuestionSettingEndShowTrueFalse()));
return questionSnapshots.stream().map(item -> {
ResourcesQuestionSnapshot resourcesQuestionSnapshot = new ResourcesQuestionSnapshot();
resourcesQuestionSnapshot.setResourcesQuestionSnapshotId(item.getResourcesQuestionSnapshotId());
resourcesQuestionSnapshot.setQuestionAnswer(isEndShowQa ? item.getQuestionAnswer() : "");
resourcesQuestionSnapshot.setQuestionAnalysis(isEndShowTrueFalse ? item.getQuestionAnalysis(): "");
return resourcesQuestionSnapshot;
}).collect(groupingBy(ResourcesQuestionSnapshot::getQuestionType));
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;
}).collect(groupingBy(TeacherOpenCourseQuestionLog::getQuestionType));
}
/**

@ -7,6 +7,7 @@ import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog;
import com.ibeetl.jlw.service.TeacherOpenCourseQuestionLogService;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery;
@ -26,6 +27,8 @@ import java.util.List;
import java.util.Map;
import java.util.TreeSet;
import static cn.jlw.util.CacheUserUtil.getStudent;
/**
* --
* 线
@ -136,31 +139,27 @@ public class TeacherOpenCourseQuestionLogController {
* -
*
* @param questionSnapshotIds [ID]
* @param coreUser Service
* @return
*/
@PostMapping(API + "/questionAnalysisBySnapIds.do")
@ResponseBody
public JsonResult questionAnalysis(
@RequestBody
TreeSet<Long> questionSnapshotIds,
@SCoreUser
CoreUser coreUser) {
Assert.isTrue(coreUser.isStudent(), "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSnapshotIds));
public JsonResult questionAnalysis(@RequestBody TreeSet<Long> questionSnapshotIds) {
Student student = getStudent();
Assert.notNull(student, "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSnapshotIds, student.getStudentId()));
}
/**
* -
* -
*
* @param questionSettingId ID
* @param coreUser Service
* @return
*/
@PostMapping(API + "/questionAnalysisBySettingId.do")
public JsonResult questionAnalysisBySettingId(Long questionSettingId, @SCoreUser CoreUser coreUser) {
Assert.isTrue(coreUser.isStudent(), "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSettingId));
public JsonResult questionAnalysisBySettingId(Long questionSettingId) {
Student student = getStudent();
Assert.notNull(student, "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSettingId, student.getStudentId()));
}
/**

@ -84,6 +84,10 @@ public class TeacherOpenCourseQuestionLogQuery extends PageParam {
private String questionAnswer ;
//解析
private String questionAnalysis ;
private String teacherOpenCourseQuestionLogIdPlural;
private String teacherOpenCourseQuestionSettingIdPlural;
private String resourcesQuestionSnapshotIdPlural;
@ -120,6 +124,7 @@ public class TeacherOpenCourseQuestionLogQuery extends PageParam {
pojo.setQuestionOptionD(this.getQuestionOptionD());
pojo.setQuestionOptionE(this.getQuestionOptionE());
pojo.setQuestionAnswer(this.getQuestionAnswer());
pojo.setQuestionAnalysis(this.getQuestionAnalysis());
return pojo;
}

Loading…
Cancel
Save