diff --git a/web/src/main/java/com/ibeetl/jlw/dao/ResourcesQuestionSnapshotDao.java b/web/src/main/java/com/ibeetl/jlw/dao/ResourcesQuestionSnapshotDao.java index 907e130c..2f9cc1b6 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/ResourcesQuestionSnapshotDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/ResourcesQuestionSnapshotDao.java @@ -1,6 +1,8 @@ package com.ibeetl.jlw.dao; import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; +import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionTestSimpleInfo; +import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery; import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.mapper.BaseMapper; @@ -22,4 +24,7 @@ public interface ResourcesQuestionSnapshotDao extends BaseMapper getByIds(String ids); List getValuesByQuery(ResourcesQuestionSnapshotQuery resourcesQuestionSnapshotQuery); + + // 查询题目的简单信息 + TeacherOpenCourseQuestionTestSimpleInfo getQuestionTestSimpleInfo(Long snapshotFromId, ResourcesQuestionSnapshotFromTypeEnum snapshotFromType); } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionTestSimpleInfo.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionTestSimpleInfo.java new file mode 100644 index 00000000..1106b14c --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionTestSimpleInfo.java @@ -0,0 +1,35 @@ +package com.ibeetl.jlw.entity; + +import com.ibeetl.admin.core.entity.BaseEntity; +import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; +import lombok.Data; + +/** + * 教师-我的课程-章节练习列表 + * + * @author mlx + */ +@Data +public class TeacherOpenCourseQuestionTestSimpleInfo extends BaseEntity{ + + //来源ID + + private Long ResourcesQuestionSnapshotFromId ; + + // 来源类型 + + private ResourcesQuestionSnapshotFromTypeEnum resourcesQuestionSnapshotFromType; + + // 章节练习名称 + + private String teacherOpenCourseChapterExerciseName; + + // 我的分数 + + private String myScore; + + // 题目总数 + + private Integer questionTotalCount; + +} diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java index c1fd5bd0..fcd18f37 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java @@ -12,6 +12,7 @@ import com.ibeetl.jlw.dao.StudentDao; import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.entity.Student; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLogScoreInfo; +import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionTestSimpleInfo; import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery; import org.apache.commons.lang3.StringUtils; @@ -22,8 +23,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; +import java.util.Set; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUserId; @@ -179,4 +184,62 @@ public class ResourcesQuestionSnapshotService extends CoreBaseService teacherOpenCourseKnowledgePointsIds) { + return null; + } + } diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionSnapshotController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionSnapshotController.java index 6985f80b..4f6826e9 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionSnapshotController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionSnapshotController.java @@ -9,6 +9,7 @@ import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLogScoreInfo; +import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionTestSimpleInfo; import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; import com.ibeetl.jlw.service.ResourcesQuestionSnapshotService; import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery; @@ -27,6 +28,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.util.List; +import java.util.Set; /** * 题目快照 资源管理 - 题库管理-快照-关联来源 接口 @@ -217,4 +219,108 @@ public class ResourcesQuestionSnapshotController{ } + /** + * 学生端-获取章节练习的简单信息 + * 支持根据来源类型查询 + * + * @param snapshotFromId 题目快照 来源ID 可以是作业、考试、章节练习 + * @param snapshotFromType 题目快照类型 + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/getQuestionTestSimpleInfo.json") + @Function("teacherOpenCourseQuestionLog.query") + @ResponseBody + public JsonResult getQuestionTestSimpleInfo( + Long snapshotFromId, + ResourcesQuestionSnapshotFromTypeEnum snapshotFromType, + @SCoreUser + CoreUser coreUser) { + Assert.isTrue(coreUser.isStudent(), "非学生身份,无法获取数据!"); + return JsonResult.success(resourcesQuestionSnapshotService.getQuestionTestSimpleInfo(snapshotFromId, snapshotFromType)); + } + + /** + * 教师端-获取题目的练习成绩 + * 支持根据来源类型查询 + * + * @param snapshotFromId 题目快照 来源ID 可以是作业、考试、章节练习 + * @param snapshotFromType 题目快照类型 + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/questionTestResults.json") + @Function("teacherOpenCourseQuestionLog.query") + @ResponseBody + public JsonResult questionTestResults( + Long snapshotFromId, + ResourcesQuestionSnapshotFromTypeEnum snapshotFromType, + @SCoreUser + CoreUser coreUser) { + return JsonResult.success(resourcesQuestionSnapshotService.questionTestResults(snapshotFromId, snapshotFromType)); + } + + /** + * 教师端-获取题目的练习详情 + * 支持根据来源类型查询 + * + * @param snapshotFromId 题目快照 来源ID 可以是作业、考试、章节练习 + * @param snapshotFromType 题目快照类型 + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/questionTestDetail.json") + @Function("teacherOpenCourseQuestionLog.query") + @ResponseBody + public JsonResult questionTestDetail( + Long snapshotFromId, + ResourcesQuestionSnapshotFromTypeEnum snapshotFromType, + @SCoreUser + CoreUser coreUser) { + return JsonResult.success(resourcesQuestionSnapshotService.questionTestDetail(snapshotFromId, snapshotFromType)); + } + + /** + * 教师端-(开课)题目管理列表(试题管理等等) + * 支持根据来源类型查询 + * + * @param snapshotFromId 题目快照 来源ID 可以是作业、考试、章节练习 + * @param snapshotFromType 题目快照类型 + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/questionManagement.json") + @Function("teacherOpenCourseQuestionLog.query") + @ResponseBody + public JsonResult questionManagement( + Long snapshotFromId, + ResourcesQuestionSnapshotFromTypeEnum snapshotFromType, + @SCoreUser + CoreUser coreUser) { + return JsonResult.success(resourcesQuestionSnapshotService.questionManagement(snapshotFromId, snapshotFromType)); + } + + /** + * 教师端-(开课)题目管理列表(试题管理等等) + * 支持根据来源类型查询 + * + * @param teacherOpenCourseIds 开课ID集合,支持多对多 + * @param teacherOpenCourseKnowledgePointsIds 知识点ID集合 + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/bindKnowledgePoints.json") + @Function("teacherOpenCourseQuestionLog.query") + @ResponseBody + public JsonResult bindKnowledgePoints( + String teacherOpenCourseIds, // 开课ID + String chapterIds, // 章节ID + Set teacherOpenCourseKnowledgePointsIds, // 开课知识点ID集合 + @SCoreUser + CoreUser coreUser) { + return JsonResult.success(resourcesQuestionSnapshotService.bindKnowledgePoints(teacherOpenCourseIds, chapterIds, teacherOpenCourseKnowledgePointsIds)); + } + + // TODO 理想 差一张 章节练习表 类似teacherOpenCourseHomework + } diff --git a/web/src/main/resources/sql/jlw/resourcesQuestionSnapshot.md b/web/src/main/resources/sql/jlw/resourcesQuestionSnapshot.md index 1eed5eac..841ea74a 100644 --- a/web/src/main/resources/sql/jlw/resourcesQuestionSnapshot.md +++ b/web/src/main/resources/sql/jlw/resourcesQuestionSnapshot.md @@ -439,5 +439,10 @@ getValuesByQuery @} asc +getQuestionTestSimpleInfo +=== +* 查询题目相关的简单信息-题目标题、我的分数、总题目数量等 - + select * from resources_question_snapshot t + where 1 = 1 + @ // TODO 理想 这里还没写完 \ No newline at end of file