serv-学习任务

This commit is contained in:
2025-10-23 18:57:25 +08:00
parent 5449e5b5ff
commit 042209b98d
13 changed files with 122 additions and 23 deletions

View File

@@ -75,7 +75,7 @@ public class CourseController {
* 删除课程
*/
@DeleteMapping("/course")
public ResultDomain<Boolean> deleteCourse(@PathVariable String courseID) {
public ResultDomain<Boolean> deleteCourse(@PathVariable("courseID") String courseID) {
return courseService.deleteCourse(courseID);
}
@@ -103,7 +103,7 @@ public class CourseController {
* 删除课程章节
*/
@DeleteMapping("/course/chapter/{chapterID}")
public ResultDomain<Boolean> deleteChapter(@PathVariable String chapterID) {
public ResultDomain<Boolean> deleteChapter(@PathVariable("chapterID") String chapterID) {
return courseService.deleteChapter(chapterID);
}
@@ -131,7 +131,7 @@ public class CourseController {
* 删除课程章节节点
*/
@DeleteMapping("/course/chapter/node/{nodeID}")
public ResultDomain<Boolean> deleteChapterNode(@PathVariable String nodeID) {
public ResultDomain<Boolean> deleteChapterNode(@PathVariable("nodeID") String nodeID) {
return courseService.deleteChapterNode(nodeID);
}
@@ -147,7 +147,7 @@ public class CourseController {
* 增加课程浏览次数
*/
@PostMapping("/{courseID}/view")
public ResultDomain<TbCourse> incrementViewCount(@PathVariable String courseID) {
public ResultDomain<Boolean> incrementViewCount(@PathVariable("courseID") String courseID) {
return courseService.incrementViewCount(courseID);
}
@@ -155,7 +155,7 @@ public class CourseController {
* 增加课程学习人数
*/
@PostMapping("/{courseID}/learn")
public ResultDomain<TbCourse> incrementLearnCount(@PathVariable String courseID) {
public ResultDomain<TbCourse> incrementLearnCount(@PathVariable("courseID") String courseID) {
return courseService.incrementLearnCount(courseID);
}

View File

@@ -29,8 +29,8 @@ public class LearningRecordController {
@GetMapping("/list")
public ResultDomain<TbLearningRecord> getLearningRecords(
@RequestParam(required = false) String userID,
@RequestParam(required = false) String courseID,
@RequestParam(required = false) String taskID) {
@RequestParam(required = false) String resourceType,
@RequestParam(required = false) String resourceID) {
return null;
// return learningRecordService.getLearningRecords(userID, courseID, taskID);
}
@@ -57,7 +57,7 @@ public class LearningRecordController {
* 删除学习记录
*/
@DeleteMapping("/{recordID}")
public ResultDomain<Boolean> deleteLearningRecord(@PathVariable String recordID) {
public ResultDomain<Boolean> deleteLearningRecord(@PathVariable("recordID") String recordID) {
return null;
// return learningRecordService.deleteLearningRecord(recordID);
}
@@ -66,7 +66,7 @@ public class LearningRecordController {
* 根据ID获取学习记录
*/
@GetMapping("/{recordID}")
public ResultDomain<TbLearningRecord> getRecordById(@PathVariable String recordID) {
public ResultDomain<TbLearningRecord> getRecordById(@PathVariable("recordID") String recordID) {
return null;
// return learningRecordService.getRecordById(recordID);
}
@@ -76,7 +76,7 @@ public class LearningRecordController {
*/
@PutMapping("/{recordID}/progress")
public ResultDomain<TbLearningRecord> updateLearningProgress(
@PathVariable String recordID,
@PathVariable("recordID") String recordID,
@RequestParam Integer progress) {
return null;
// return learningRecordService.updateLearningProgress(recordID, progress);
@@ -86,7 +86,7 @@ public class LearningRecordController {
* 完成学习
*/
@PostMapping("/{recordID}/complete")
public ResultDomain<TbLearningRecord> completeLearning(@PathVariable String recordID) {
public ResultDomain<TbLearningRecord> completeLearning(@PathVariable("recordID") String recordID) {
return null;
// return learningRecordService.completeLearning(recordID);
}

View File

@@ -19,6 +19,9 @@ import org.xyzh.common.dto.study.TbTaskCourse;
import org.xyzh.common.dto.study.TbTaskResource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
@@ -145,4 +148,13 @@ public class LearningTaskController {
return learningTaskService.getUserTaskPage(filter, pageParam);
}
/**
* 用户整体学习进度
*/
@PostMapping("/user/progress/{userID}")
public ResultDomain<TaskVO> getUserProgress(@PathVariable("userID") String userID) {
return learningTaskService.getUserProgress(userID);
}
}

View File

@@ -172,4 +172,13 @@ public interface CourseMapper extends BaseMapper<TbCourse> {
* @since 2025-10-15
*/
long countCourses(@Param("filter") TbCourse filter);
/**
* @description 增加课程浏览次数
* @param courseID 课程ID
* @return int 影响行数
* @author yslg
* @since 2025-10-15
*/
int incrementViewCount(@Param("courseID") String courseID);
}

View File

@@ -424,9 +424,16 @@ public class SCCourseServiceImpl implements SCCourseService {
}
@Override
public ResultDomain<TbCourse> incrementViewCount(String courseID) {
// TODO: 实现增加课程浏览次数
return null;
public ResultDomain<Boolean> incrementViewCount(String courseID) {
ResultDomain<Boolean> resultDomain = new ResultDomain<>();
int result = courseMapper.incrementViewCount(courseID);
if (result > 0) {
resultDomain.success("增加课程浏览次数成功", true);
return resultDomain;
} else {
resultDomain.fail("增加课程浏览次数失败");
return resultDomain;
}
}
@Override

View File

@@ -466,5 +466,20 @@ public class SCLearningTaskServiceImpl implements LearningTaskService {
return null;
}
@Override
public ResultDomain<TaskVO> getUserProgress(String userID) {
ResultDomain<TaskVO> resultDomain = new ResultDomain<>();
TaskVO taskVO = new TaskVO();
TbTaskUser fliter = new TbTaskUser();
fliter.setUserID(userID);
// 获取用户所有任务关联
List<TbTaskUser> taskUsers = taskUserMapper.selectTaskUsers(fliter);
taskVO.setCompletedTaskNum((int) taskUsers.stream().filter(item -> item.getStatus() == 2).count());
taskVO.setLearningTaskNum((int) taskUsers.stream().filter(item -> item.getStatus() == 1).count());
taskVO.setNotStartTaskNum((int) taskUsers.stream().filter(item -> item.getStatus() == 0).count());
taskVO.setTotalTaskNum(taskUsers.size());
resultDomain.success("获取用户整体学习进度成功", taskVO);
return resultDomain;
}
}

View File

@@ -287,4 +287,9 @@
<include refid="Filter_Clause" />
</select>
</mapper>
<update id="incrementViewCount">
UPDATE tb_course
SET view_count = view_count + 1
WHERE course_id = #{courseID} AND deleted = 0
</update>
</mapper>