serv-控制器
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.api.study.course.CourseService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbCourse;
|
||||
import org.xyzh.common.dto.study.TbCourseChapter;
|
||||
|
||||
/**
|
||||
* @description 课程控制器
|
||||
* @filename CourseController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/course")
|
||||
public class CourseController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CourseController.class);
|
||||
|
||||
@Autowired
|
||||
private CourseService courseService;
|
||||
|
||||
/**
|
||||
* 获取课程列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbCourse> getCourseList(TbCourse filter) {
|
||||
return courseService.getCourseList(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取课程详情
|
||||
*/
|
||||
@GetMapping("/{courseID}")
|
||||
public ResultDomain<TbCourse> getCourseById(@PathVariable String courseID) {
|
||||
return courseService.getCourseById(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建课程
|
||||
*/
|
||||
@PostMapping("/create")
|
||||
public ResultDomain<TbCourse> createCourse(@RequestBody TbCourse course) {
|
||||
return courseService.createCourse(course);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新课程
|
||||
*/
|
||||
@PutMapping("/update")
|
||||
public ResultDomain<TbCourse> updateCourse(@RequestBody TbCourse course) {
|
||||
return courseService.updateCourse(course);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除课程
|
||||
*/
|
||||
@DeleteMapping("/{courseID}")
|
||||
public ResultDomain<Boolean> deleteCourse(@PathVariable String courseID) {
|
||||
return courseService.deleteCourse(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新课程状态
|
||||
*/
|
||||
@PutMapping("/{courseID}/status")
|
||||
public ResultDomain<TbCourse> updateCourseStatus(
|
||||
@PathVariable String courseID,
|
||||
@RequestParam Integer status) {
|
||||
return courseService.updateCourseStatus(courseID, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加课程浏览次数
|
||||
*/
|
||||
@PostMapping("/{courseID}/view")
|
||||
public ResultDomain<TbCourse> incrementViewCount(@PathVariable String courseID) {
|
||||
return courseService.incrementViewCount(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加课程学习人数
|
||||
*/
|
||||
@PostMapping("/{courseID}/learn")
|
||||
public ResultDomain<TbCourse> incrementLearnCount(@PathVariable String courseID) {
|
||||
return courseService.incrementLearnCount(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取课程章节列表
|
||||
*/
|
||||
@GetMapping("/{courseID}/chapters")
|
||||
public ResultDomain<TbCourseChapter> getCourseChapters(@PathVariable String courseID) {
|
||||
return courseService.getCourseChapters(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取章节详情
|
||||
*/
|
||||
@GetMapping("/chapter/{chapterID}")
|
||||
public ResultDomain<TbCourseChapter> getChapterById(@PathVariable String chapterID) {
|
||||
return courseService.getChapterById(chapterID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建课程章节
|
||||
*/
|
||||
@PostMapping("/chapter/create")
|
||||
public ResultDomain<TbCourseChapter> createChapter(@RequestBody TbCourseChapter chapter) {
|
||||
return courseService.createChapter(chapter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新课程章节
|
||||
*/
|
||||
@PutMapping("/chapter/update")
|
||||
public ResultDomain<TbCourseChapter> updateChapter(@RequestBody TbCourseChapter chapter) {
|
||||
return courseService.updateChapter(chapter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除课程章节
|
||||
*/
|
||||
@DeleteMapping("/chapter/{chapterID}")
|
||||
public ResultDomain<Boolean> deleteChapter(@PathVariable String chapterID) {
|
||||
return courseService.deleteChapter(chapterID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新章节排序
|
||||
*/
|
||||
@PutMapping("/chapter/{chapterID}/order")
|
||||
public ResultDomain<TbCourseChapter> updateChapterOrder(
|
||||
@PathVariable String chapterID,
|
||||
@RequestParam Integer orderNum) {
|
||||
return courseService.updateChapterOrder(chapterID, orderNum);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,176 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbCourse;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 课程管理控制器
|
||||
* @filename CourseManagementController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/course-management")
|
||||
public class CourseManagementController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CourseManagementController.class);
|
||||
|
||||
// ==================== 课程列表管理 ====================
|
||||
|
||||
/**
|
||||
* 分页展示所有课程
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbCourse> getCourseList(
|
||||
@RequestParam(required = false) String courseName,
|
||||
@RequestParam(required = false) String tag,
|
||||
@RequestParam(required = false) Integer pageNum,
|
||||
@RequestParam(required = false) Integer pageSize) {
|
||||
// TODO: 实现分页展示所有课程(支持按课程名称/标签筛选)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看课程详情
|
||||
*/
|
||||
@GetMapping("/detail/{courseID}")
|
||||
public ResultDomain<TbCourse> getCourseDetail(@PathVariable String courseID) {
|
||||
// TODO: 实现查看课程详情
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按课程名称筛选
|
||||
*/
|
||||
@GetMapping("/filter/name")
|
||||
public ResultDomain<TbCourse> filterByCourseName(@RequestParam String courseName) {
|
||||
// TODO: 实现按课程名称筛选
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按标签筛选课程
|
||||
*/
|
||||
@GetMapping("/filter/tag")
|
||||
public ResultDomain<TbCourse> filterByTag(@RequestParam String tag) {
|
||||
// TODO: 实现按标签筛选课程
|
||||
return null;
|
||||
}
|
||||
|
||||
// ==================== 课程添加管理 ====================
|
||||
|
||||
/**
|
||||
* 添加课程
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
public ResultDomain<TbCourse> addCourse(@RequestBody Map<String, Object> courseData) {
|
||||
// TODO: 实现添加课程(录入课程名称、上传课程图片、填写课程描述、选择课程标签、设置课程权限、设置课程状态)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传课程图片
|
||||
*/
|
||||
@PostMapping("/upload-image")
|
||||
public ResultDomain<String> uploadCourseImage(@RequestParam("file") String file) {
|
||||
// TODO: 实现上传课程图片
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置课程权限
|
||||
*/
|
||||
@PutMapping("/permission/set")
|
||||
public ResultDomain<Boolean> setCoursePermission(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现设置课程权限(公开/指定部门)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置课程状态
|
||||
*/
|
||||
@PutMapping("/status/set")
|
||||
public ResultDomain<Boolean> setCourseStatus(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现设置课程状态(未上线/已上线)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择课程标签
|
||||
*/
|
||||
@PutMapping("/tag/select")
|
||||
public ResultDomain<Boolean> selectCourseTags(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现选择课程标签
|
||||
return null;
|
||||
}
|
||||
|
||||
// ==================== 课程维护管理 ====================
|
||||
|
||||
/**
|
||||
* 编辑课程信息
|
||||
*/
|
||||
@PutMapping("/edit")
|
||||
public ResultDomain<TbCourse> editCourseInfo(@RequestBody TbCourse course) {
|
||||
// TODO: 实现编辑课程信息
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新课程内容
|
||||
*/
|
||||
@PutMapping("/content/update")
|
||||
public ResultDomain<Boolean> updateCourseContent(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现更新课程内容
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改课程状态
|
||||
*/
|
||||
@PutMapping("/status/change")
|
||||
public ResultDomain<Boolean> changeCourseStatus(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现修改课程状态
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除课程
|
||||
*/
|
||||
@DeleteMapping("/{courseID}")
|
||||
public ResultDomain<Boolean> deleteCourse(@PathVariable String courseID) {
|
||||
// TODO: 实现删除课程
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量更新课程状态
|
||||
*/
|
||||
@PutMapping("/batch-status-update")
|
||||
public ResultDomain<Boolean> batchUpdateCourseStatus(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现批量更新课程状态
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取课程统计信息
|
||||
*/
|
||||
@GetMapping("/statistics")
|
||||
public ResultDomain<Map<String, Object>> getCourseStatistics(@RequestParam String courseID) {
|
||||
// TODO: 实现获取课程统计信息
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取课程学习情况
|
||||
*/
|
||||
@GetMapping("/learning-status")
|
||||
public ResultDomain<Map<String, Object>> getCourseLearningStatus(@RequestParam String courseID) {
|
||||
// TODO: 实现获取课程学习情况
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.api.study.tag.CourseTagService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbCourseTag;
|
||||
import org.xyzh.common.dto.study.TbCourse;
|
||||
|
||||
/**
|
||||
* @description 课程标签控制器
|
||||
* @filename CourseTagController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/tag")
|
||||
public class CourseTagController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CourseTagController.class);
|
||||
|
||||
@Autowired
|
||||
private CourseTagService courseTagService;
|
||||
|
||||
/**
|
||||
* 获取标签列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbCourseTag> getTagList(TbCourseTag filter) {
|
||||
return null;
|
||||
// return courseTagService.getTagList(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取标签详情
|
||||
*/
|
||||
@GetMapping("/{tagID}")
|
||||
public ResultDomain<TbCourseTag> getTagById(@PathVariable String tagID) {
|
||||
return courseTagService.getTagById(tagID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据标签获取课程列表
|
||||
*/
|
||||
@GetMapping("/{tagID}/courses")
|
||||
public ResultDomain<TbCourse> getCoursesByTag(@PathVariable String tagID) {
|
||||
return null;
|
||||
// return courseTagService.getCoursesByTag(tagID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加标签到课程
|
||||
*/
|
||||
@PostMapping("/course/{courseID}/tag")
|
||||
public ResultDomain<TbCourseTag> addTagToCourse(
|
||||
@PathVariable String courseID,
|
||||
@RequestParam String tagID) {
|
||||
return null;
|
||||
// return courseTagService.addTagToCourse(courseID, tagID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从课程移除标签
|
||||
*/
|
||||
@DeleteMapping("/course/{courseID}/tag/{tagID}")
|
||||
public ResultDomain<Boolean> removeTagFromCourse(
|
||||
@PathVariable String courseID,
|
||||
@PathVariable String tagID) {
|
||||
return null;
|
||||
// return courseTagService.removeTagFromCourse(courseID, tagID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取课程标签列表
|
||||
*/
|
||||
@GetMapping("/course/{courseID}/tags")
|
||||
public ResultDomain<TbCourseTag> getCourseTags(@PathVariable String courseID) {
|
||||
return courseTagService.getCourseTags(courseID);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningTask;
|
||||
import org.xyzh.common.dto.study.TbTaskUser;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 学习管理控制器
|
||||
* @filename LearningManagementController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/management")
|
||||
public class LearningManagementController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LearningManagementController.class);
|
||||
|
||||
// ==================== 任务发布管理 ====================
|
||||
|
||||
/**
|
||||
* 发布学习任务
|
||||
*/
|
||||
@PostMapping("/task/publish")
|
||||
public ResultDomain<TbLearningTask> publishLearningTask(@RequestBody Map<String, Object> taskData) {
|
||||
// TODO: 实现发布学习任务(编辑任务名称、任务描述、任务周期、关联资源/课程)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑学习任务
|
||||
*/
|
||||
@PutMapping("/task/edit")
|
||||
public ResultDomain<TbLearningTask> editLearningTask(@RequestBody TbLearningTask task) {
|
||||
// TODO: 实现编辑学习任务
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务发布列表
|
||||
*/
|
||||
@GetMapping("/task/published-list")
|
||||
public ResultDomain<TbLearningTask> getPublishedTaskList(
|
||||
@RequestParam(required = false) String taskName,
|
||||
@RequestParam(required = false) Integer status) {
|
||||
// TODO: 实现获取任务发布列表
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联资源到任务
|
||||
*/
|
||||
@PostMapping("/task/link-resource")
|
||||
public ResultDomain<Boolean> linkResourceToTask(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现关联资源/课程到任务
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联课程到任务
|
||||
*/
|
||||
@PostMapping("/task/link-course")
|
||||
public ResultDomain<Boolean> linkCourseToTask(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现关联课程到任务
|
||||
return null;
|
||||
}
|
||||
|
||||
// ==================== 人员选定管理 ====================
|
||||
|
||||
/**
|
||||
* 按部门筛选人员
|
||||
*/
|
||||
@GetMapping("/personnel/dept-filter")
|
||||
public ResultDomain<Map<String, Object>> filterPersonnelByDept(@RequestParam String deptID) {
|
||||
// TODO: 实现按部门层级筛选人员
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动勾选人员
|
||||
*/
|
||||
@PostMapping("/personnel/select")
|
||||
public ResultDomain<List<Map<String, Object>>> selectPersonnel(@RequestBody List<String> userIDs) {
|
||||
// TODO: 实现手动勾选人员
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成任务接收名单
|
||||
*/
|
||||
@PostMapping("/personnel/generate-list")
|
||||
public ResultDomain<List<TbTaskUser>> generateTaskReceiverList(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现生成任务接收名单
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量分配任务给用户
|
||||
*/
|
||||
@PostMapping("/personnel/batch-assign")
|
||||
public ResultDomain<Boolean> batchAssignTaskToUsers(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现批量分配任务给用户
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门人员树形结构
|
||||
*/
|
||||
@GetMapping("/personnel/dept-tree")
|
||||
public ResultDomain<Map<String, Object>> getDeptPersonnelTree() {
|
||||
// TODO: 实现获取部门人员树形结构
|
||||
return null;
|
||||
}
|
||||
|
||||
// ==================== 学习记录统计 ====================
|
||||
|
||||
/**
|
||||
* 获取学习记录统计
|
||||
*/
|
||||
@GetMapping("/record/statistics")
|
||||
public ResultDomain<Map<String, Object>> getLearningRecordStatistics(
|
||||
@RequestParam(required = false) String deptID,
|
||||
@RequestParam(required = false) String userID,
|
||||
@RequestParam(required = false) String startDate,
|
||||
@RequestParam(required = false) String endDate) {
|
||||
// TODO: 实现获取学习记录统计(支持按部门/个人/时间筛选查询)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户学习时长统计
|
||||
*/
|
||||
@GetMapping("/record/learning-duration")
|
||||
public ResultDomain<Map<String, Object>> getLearningDurationStatistics(@RequestParam String userID) {
|
||||
// TODO: 实现统计用户学习时长
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学习资源数量统计
|
||||
*/
|
||||
@GetMapping("/record/resource-count")
|
||||
public ResultDomain<Map<String, Object>> getResourceCountStatistics(@RequestParam String userID) {
|
||||
// TODO: 实现统计学习资源数量
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务完成情况统计
|
||||
*/
|
||||
@GetMapping("/record/task-completion")
|
||||
public ResultDomain<Map<String, Object>> getTaskCompletionStatistics(@RequestParam String userID) {
|
||||
// TODO: 实现统计任务完成情况
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成可视化数据图表
|
||||
*/
|
||||
@GetMapping("/record/chart-data")
|
||||
public ResultDomain<Map<String, Object>> getChartData(
|
||||
@RequestParam String chartType,
|
||||
@RequestParam(required = false) String userID,
|
||||
@RequestParam(required = false) String deptID) {
|
||||
// TODO: 实现生成可视化数据(图表接口)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门学习统计
|
||||
*/
|
||||
@GetMapping("/record/dept-statistics")
|
||||
public ResultDomain<Map<String, Object>> getDeptLearningStatistics(@RequestParam String deptID) {
|
||||
// TODO: 实现获取部门学习统计
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出学习记录报告
|
||||
*/
|
||||
@PostMapping("/record/export-report")
|
||||
public ResultDomain<String> exportLearningReport(@RequestBody Map<String, Object> params) {
|
||||
// TODO: 实现导出学习记录报告
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningTask;
|
||||
import org.xyzh.common.dto.study.TbTaskUser;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 学习计划控制器
|
||||
* @filename LearningPlanController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/plan")
|
||||
public class LearningPlanController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LearningPlanController.class);
|
||||
|
||||
// ==================== 计划列表管理 ====================
|
||||
|
||||
/**
|
||||
* 获取学习计划列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbLearningTask> getLearningPlanList(
|
||||
@RequestParam(required = false) String planName,
|
||||
@RequestParam(required = false) Integer status,
|
||||
@RequestParam(required = false) Integer pageNum,
|
||||
@RequestParam(required = false) Integer pageSize) {
|
||||
// TODO: 实现展示校方统一发布的学习计划(名称、起止时间、任务描述)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取计划详情
|
||||
*/
|
||||
@GetMapping("/{planID}")
|
||||
public ResultDomain<TbLearningTask> getPlanDetail(@PathVariable String planID) {
|
||||
// TODO: 实现获取计划详情
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进行中的计划
|
||||
*/
|
||||
@GetMapping("/active")
|
||||
public ResultDomain<TbLearningTask> getActivePlans() {
|
||||
// TODO: 实现获取进行中的计划
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取已完成的计划
|
||||
*/
|
||||
@GetMapping("/completed")
|
||||
public ResultDomain<TbLearningTask> getCompletedPlans() {
|
||||
// TODO: 实现获取已完成的计划
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取即将开始的计划
|
||||
*/
|
||||
@GetMapping("/upcoming")
|
||||
public ResultDomain<TbLearningTask> getUpcomingPlans() {
|
||||
// TODO: 实现获取即将开始的计划
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按时间范围筛选计划
|
||||
*/
|
||||
@GetMapping("/filter/date-range")
|
||||
public ResultDomain<TbLearningTask> filterPlansByDateRange(
|
||||
@RequestParam String startDate,
|
||||
@RequestParam String endDate) {
|
||||
// TODO: 实现按时间范围筛选计划
|
||||
return null;
|
||||
}
|
||||
|
||||
// ==================== 任务进度管理 ====================
|
||||
|
||||
/**
|
||||
* 获取当前用户的学习任务
|
||||
*/
|
||||
@GetMapping("/user/{userID}/tasks")
|
||||
public ResultDomain<TbTaskUser> getUserLearningTasks(@PathVariable String userID) {
|
||||
// TODO: 实现展示当前用户的学习任务(已完成/未完成)
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务进度详情
|
||||
*/
|
||||
@GetMapping("/task/{taskID}/progress")
|
||||
public ResultDomain<Map<String, Object>> getTaskProgress(@PathVariable String taskID) {
|
||||
// TODO: 实现获取任务进度详情
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户任务进度
|
||||
*/
|
||||
@GetMapping("/user/{userID}/task/{taskID}/progress")
|
||||
public ResultDomain<Map<String, Object>> getUserTaskProgress(
|
||||
@PathVariable String userID,
|
||||
@PathVariable String taskID) {
|
||||
// TODO: 实现获取用户任务进度
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新任务进度
|
||||
*/
|
||||
@PutMapping("/task/{taskID}/progress")
|
||||
public ResultDomain<Boolean> updateTaskProgress(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam String userID,
|
||||
@RequestParam Integer progress) {
|
||||
// TODO: 实现更新任务进度
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成任务
|
||||
*/
|
||||
@PostMapping("/task/{taskID}/complete")
|
||||
public ResultDomain<Boolean> completeTask(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam String userID) {
|
||||
// TODO: 实现完成任务
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进度条数据
|
||||
*/
|
||||
@GetMapping("/user/{userID}/progress-bar")
|
||||
public ResultDomain<Map<String, Object>> getProgressBarData(@PathVariable String userID) {
|
||||
// TODO: 实现用进度条显示完成百分比
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取已完成任务列表
|
||||
*/
|
||||
@GetMapping("/user/{userID}/completed-tasks")
|
||||
public ResultDomain<TbTaskUser> getCompletedTasks(@PathVariable String userID) {
|
||||
// TODO: 实现获取已完成任务列表
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取未完成任务列表
|
||||
*/
|
||||
@GetMapping("/user/{userID}/pending-tasks")
|
||||
public ResultDomain<TbTaskUser> getPendingTasks(@PathVariable String userID) {
|
||||
// TODO: 实现获取未完成任务列表
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务统计信息
|
||||
*/
|
||||
@GetMapping("/user/{userID}/task-statistics")
|
||||
public ResultDomain<Map<String, Object>> getTaskStatistics(@PathVariable String userID) {
|
||||
// TODO: 实现获取任务统计信息
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学习计划统计
|
||||
*/
|
||||
@GetMapping("/statistics")
|
||||
public ResultDomain<Map<String, Object>> getLearningPlanStatistics() {
|
||||
// TODO: 实现获取学习计划统计
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户学习计划参与情况
|
||||
*/
|
||||
@GetMapping("/user/{userID}/participation")
|
||||
public ResultDomain<Map<String, Object>> getUserParticipation(@PathVariable String userID) {
|
||||
// TODO: 实现获取用户学习计划参与情况
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取计划排行榜
|
||||
*/
|
||||
@GetMapping("/ranking")
|
||||
public ResultDomain<Map<String, Object>> getPlanRanking(
|
||||
@RequestParam(required = false) String planID,
|
||||
@RequestParam(required = false) Integer limit) {
|
||||
// TODO: 实现获取计划排行榜
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.api.study.record.LearningRecordService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningRecord;
|
||||
|
||||
/**
|
||||
* @description 学习记录控制器
|
||||
* @filename LearningRecordController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/record")
|
||||
public class LearningRecordController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LearningRecordController.class);
|
||||
|
||||
@Autowired
|
||||
private LearningRecordService learningRecordService;
|
||||
|
||||
/**
|
||||
* 获取学习记录
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbLearningRecord> getLearningRecords(
|
||||
@RequestParam(required = false) String userID,
|
||||
@RequestParam(required = false) String courseID,
|
||||
@RequestParam(required = false) String taskID) {
|
||||
return null;
|
||||
// return learningRecordService.getLearningRecords(userID, courseID, taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建学习记录
|
||||
*/
|
||||
@PostMapping("/create")
|
||||
public ResultDomain<TbLearningRecord> createLearningRecord(@RequestBody TbLearningRecord record) {
|
||||
return null;
|
||||
// return learningRecordService.createLearningRecord(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新学习记录
|
||||
*/
|
||||
@PutMapping("/update")
|
||||
public ResultDomain<TbLearningRecord> updateLearningRecord(@RequestBody TbLearningRecord record) {
|
||||
return null;
|
||||
// return learningRecordService.updateLearningRecord(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除学习记录
|
||||
*/
|
||||
@DeleteMapping("/{recordID}")
|
||||
public ResultDomain<Boolean> deleteLearningRecord(@PathVariable String recordID) {
|
||||
return null;
|
||||
// return learningRecordService.deleteLearningRecord(recordID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取学习记录
|
||||
*/
|
||||
@GetMapping("/{recordID}")
|
||||
public ResultDomain<TbLearningRecord> getRecordById(@PathVariable String recordID) {
|
||||
return null;
|
||||
// return learningRecordService.getRecordById(recordID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新学习进度
|
||||
*/
|
||||
@PutMapping("/{recordID}/progress")
|
||||
public ResultDomain<TbLearningRecord> updateLearningProgress(
|
||||
@PathVariable String recordID,
|
||||
@RequestParam Integer progress) {
|
||||
return null;
|
||||
// return learningRecordService.updateLearningProgress(recordID, progress);
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成学习
|
||||
*/
|
||||
@PostMapping("/{recordID}/complete")
|
||||
public ResultDomain<TbLearningRecord> completeLearning(@PathVariable String recordID) {
|
||||
return null;
|
||||
// return learningRecordService.completeLearning(recordID);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.api.study.statistics.LearningStatisticsService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningStatistics;
|
||||
|
||||
/**
|
||||
* @description 学习统计控制器
|
||||
* @filename LearningStatisticsController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/statistics")
|
||||
public class LearningStatisticsController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LearningStatisticsController.class);
|
||||
|
||||
@Autowired
|
||||
private LearningStatisticsService learningStatisticsService;
|
||||
|
||||
/**
|
||||
* 获取用户学习统计
|
||||
*/
|
||||
@GetMapping("/user/{userID}")
|
||||
public ResultDomain<TbLearningStatistics> getUserStatistics(@PathVariable String userID) {
|
||||
return null;
|
||||
// return learningStatisticsService.getUserStatistics(userID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取课程学习统计
|
||||
*/
|
||||
@GetMapping("/course/{courseID}")
|
||||
public ResultDomain<TbLearningStatistics> getCourseStatistics(@PathVariable String courseID) {
|
||||
return null;
|
||||
// return learningStatisticsService.getCourseStatistics(courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务学习统计
|
||||
*/
|
||||
@GetMapping("/task/{taskID}")
|
||||
public ResultDomain<TbLearningStatistics> getTaskStatistics(@PathVariable String taskID) {
|
||||
return null;
|
||||
// return learningStatisticsService.getTaskStatistics(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建学习统计
|
||||
*/
|
||||
@PostMapping("/create")
|
||||
public ResultDomain<TbLearningStatistics> createStatistics(@RequestBody TbLearningStatistics statistics) {
|
||||
return null;
|
||||
// return learningStatisticsService.createStatistics(statistics);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新学习统计
|
||||
*/
|
||||
@PutMapping("/update")
|
||||
public ResultDomain<TbLearningStatistics> updateStatistics(@RequestBody TbLearningStatistics statistics) {
|
||||
return null;
|
||||
// return learningStatisticsService.updateStatistics(statistics);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加学习时长
|
||||
*/
|
||||
@PostMapping("/{userID}/study-time")
|
||||
public ResultDomain<TbLearningStatistics> incrementStudyTime(
|
||||
@PathVariable String userID,
|
||||
@RequestParam String courseID,
|
||||
@RequestParam Integer minutes) {
|
||||
return null;
|
||||
// return learningStatisticsService.incrementStudyTime(userID, courseID, minutes);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加完成课程数
|
||||
*/
|
||||
@PostMapping("/{userID}/completed-courses")
|
||||
public ResultDomain<TbLearningStatistics> incrementCompletedCourses(@PathVariable String userID) {
|
||||
return null;
|
||||
// return learningStatisticsService.incrementCompletedCourses(userID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加完成任务数
|
||||
*/
|
||||
@PostMapping("/{userID}/completed-tasks")
|
||||
public ResultDomain<TbLearningStatistics> incrementCompletedTasks(@PathVariable String userID) {
|
||||
return null;
|
||||
// return learningStatisticsService.incrementCompletedTasks(userID);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
package org.xyzh.study.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.xyzh.api.study.task.LearningTaskService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningTask;
|
||||
import org.xyzh.common.dto.study.TbTaskUser;
|
||||
import org.xyzh.common.dto.study.TbTaskCourse;
|
||||
import org.xyzh.common.dto.study.TbTaskResource;
|
||||
|
||||
/**
|
||||
* @description 学习任务控制器
|
||||
* @filename LearningTaskController.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/study/task")
|
||||
public class LearningTaskController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LearningTaskController.class);
|
||||
|
||||
@Autowired
|
||||
private LearningTaskService learningTaskService;
|
||||
|
||||
/**
|
||||
* 获取任务列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public ResultDomain<TbLearningTask> getTaskList(TbLearningTask filter) {
|
||||
return learningTaskService.getTaskList(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取任务详情
|
||||
*/
|
||||
@GetMapping("/{taskID}")
|
||||
public ResultDomain<TbLearningTask> getTaskById(@PathVariable String taskID) {
|
||||
return learningTaskService.getTaskById(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建任务
|
||||
*/
|
||||
@PostMapping("/create")
|
||||
public ResultDomain<TbLearningTask> createTask(@RequestBody TbLearningTask task) {
|
||||
return learningTaskService.createTask(task);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新任务
|
||||
*/
|
||||
@PutMapping("/update")
|
||||
public ResultDomain<TbLearningTask> updateTask(@RequestBody TbLearningTask task) {
|
||||
return learningTaskService.updateTask(task);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除任务
|
||||
*/
|
||||
@DeleteMapping("/{taskID}")
|
||||
public ResultDomain<Boolean> deleteTask(@PathVariable String taskID) {
|
||||
return learningTaskService.deleteTask(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新任务状态
|
||||
*/
|
||||
@PutMapping("/{taskID}/status")
|
||||
public ResultDomain<TbLearningTask> updateTaskStatus(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam Integer status) {
|
||||
return learningTaskService.updateTaskStatus(taskID, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务用户列表
|
||||
*/
|
||||
@GetMapping("/{taskID}/users")
|
||||
public ResultDomain<TbTaskUser> getTaskUsers(@PathVariable String taskID) {
|
||||
return learningTaskService.getTaskUsers(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分配任务给用户
|
||||
*/
|
||||
@PostMapping("/{taskID}/assign")
|
||||
public ResultDomain<TbTaskUser> assignTaskToUser(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam String userID) {
|
||||
return null;
|
||||
// return learningTaskService.assignTaskToUser(taskID, userID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从用户移除任务
|
||||
*/
|
||||
@DeleteMapping("/{taskID}/user/{userID}")
|
||||
public ResultDomain<Boolean> removeTaskFromUser(
|
||||
@PathVariable String taskID,
|
||||
@PathVariable String userID) {
|
||||
return null;
|
||||
// return learningTaskService.removeTaskFromUser(taskID, userID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务课程列表
|
||||
*/
|
||||
@GetMapping("/{taskID}/courses")
|
||||
public ResultDomain<TbTaskCourse> getTaskCourses(@PathVariable String taskID) {
|
||||
return learningTaskService.getTaskCourses(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加课程到任务
|
||||
*/
|
||||
@PostMapping("/{taskID}/course")
|
||||
public ResultDomain<TbTaskCourse> addCourseToTask(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam String courseID) {
|
||||
return null;
|
||||
// return learningTaskService.addCourseToTask(taskID, courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从任务移除课程
|
||||
*/
|
||||
@DeleteMapping("/{taskID}/course/{courseID}")
|
||||
public ResultDomain<Boolean> removeCourseFromTask(
|
||||
@PathVariable String taskID,
|
||||
@PathVariable String courseID) {
|
||||
return null;
|
||||
// return learningTaskService.removeCourseFromTask(taskID, courseID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务资源列表
|
||||
*/
|
||||
@GetMapping("/{taskID}/resources")
|
||||
public ResultDomain<TbTaskResource> getTaskResources(@PathVariable String taskID) {
|
||||
return learningTaskService.getTaskResources(taskID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加资源到任务
|
||||
*/
|
||||
@PostMapping("/{taskID}/resource")
|
||||
public ResultDomain<TbTaskResource> addResourceToTask(
|
||||
@PathVariable String taskID,
|
||||
@RequestParam String resourceID) {
|
||||
return null;
|
||||
// return learningTaskService.addResourceToTask(taskID, resourceID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从任务移除资源
|
||||
*/
|
||||
@DeleteMapping("/{taskID}/resource/{resourceID}")
|
||||
public ResultDomain<Boolean> removeResourceFromTask(
|
||||
@PathVariable String taskID,
|
||||
@PathVariable String resourceID) {
|
||||
return null;
|
||||
// return learningTaskService.removeResourceFromTask(taskID, resourceID);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.xyzh.study.service;
|
||||
|
||||
import org.xyzh.api.study.course.CourseService;
|
||||
|
||||
/**
|
||||
* @description 课程服务接口
|
||||
* @filename SCCourseService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface SCCourseService extends CourseService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.xyzh.study.service;
|
||||
|
||||
import org.xyzh.api.study.tag.CourseTagService;
|
||||
|
||||
/**
|
||||
* @description 课程标签服务接口
|
||||
* @filename SCCourseTagService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface SCCourseTagService extends CourseTagService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.xyzh.study.service;
|
||||
|
||||
import org.xyzh.api.study.record.LearningRecordService;
|
||||
|
||||
/**
|
||||
* @description 学习记录服务接口
|
||||
* @filename SCLearningRecordService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface SCLearningRecordService extends LearningRecordService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.xyzh.study.service;
|
||||
|
||||
import org.xyzh.api.study.statistics.LearningStatisticsService;
|
||||
|
||||
/**
|
||||
* @description 学习统计服务接口
|
||||
* @filename SCLearningStatisticsService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface SCLearningStatisticsService extends LearningStatisticsService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.xyzh.study.service;
|
||||
|
||||
import org.xyzh.api.study.task.LearningTaskService;
|
||||
|
||||
/**
|
||||
* @description 学习任务服务接口
|
||||
* @filename SCLearningTaskService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface SCLearningTaskService extends LearningTaskService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package org.xyzh.study.service.impl;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbCourse;
|
||||
import org.xyzh.common.dto.study.TbCourseChapter;
|
||||
import org.xyzh.study.mapper.CourseMapper;
|
||||
import org.xyzh.study.mapper.CourseChapterMapper;
|
||||
import org.xyzh.study.service.SCCourseService;
|
||||
|
||||
/**
|
||||
* @description 课程服务实现类
|
||||
* @filename SCCourseServiceImpl.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@Service
|
||||
public class SCCourseServiceImpl implements SCCourseService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SCCourseServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private CourseMapper courseMapper;
|
||||
|
||||
@Autowired
|
||||
private CourseChapterMapper courseChapterMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> getCourseList(TbCourse filter) {
|
||||
// TODO: 实现获取课程列表
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> getCourseById(String courseID) {
|
||||
// TODO: 实现根据ID获取课程详情
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> createCourse(TbCourse course) {
|
||||
// TODO: 实现创建课程
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> updateCourse(TbCourse course) {
|
||||
// TODO: 实现更新课程
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteCourse(String courseID) {
|
||||
// TODO: 实现删除课程
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> updateCourseStatus(String courseID, Integer status) {
|
||||
// TODO: 实现更新课程状态
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> incrementViewCount(String courseID) {
|
||||
// TODO: 实现增加课程浏览次数
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourse> incrementLearnCount(String courseID) {
|
||||
// TODO: 实现增加课程学习人数
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseChapter> getCourseChapters(String courseID) {
|
||||
// TODO: 实现获取课程章节列表
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseChapter> getChapterById(String chapterID) {
|
||||
// TODO: 实现根据ID获取章节详情
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseChapter> createChapter(TbCourseChapter chapter) {
|
||||
// TODO: 实现创建课程章节
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseChapter> updateChapter(TbCourseChapter chapter) {
|
||||
// TODO: 实现更新课程章节
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteChapter(String chapterID) {
|
||||
// TODO: 实现删除课程章节
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseChapter> updateChapterOrder(String chapterID, Integer orderNum) {
|
||||
// TODO: 实现更新章节排序
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package org.xyzh.study.service.impl;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbCourseTag;
|
||||
import org.xyzh.api.study.tag.CourseTagService;
|
||||
import org.xyzh.study.mapper.CourseTagMapper;
|
||||
|
||||
/**
|
||||
* @description 课程标签服务实现类
|
||||
* @filename SCCourseTagServiceImpl.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@Service
|
||||
public class SCCourseTagServiceImpl implements CourseTagService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SCCourseTagServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private CourseTagMapper courseTagMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> addCourseTag(String courseID, String tagID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseTag> createCourseTag(TbCourseTag courseTag) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteCourseTag(String tagID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseTag> getAllCourseTags() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseTag> getCourseTags(String courseID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<String> getCoursesByTag(String tagID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseTag> getTagById(String tagID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> removeCourseTag(String courseID, String tagID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbCourseTag> updateCourseTag(TbCourseTag courseTag) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package org.xyzh.study.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningRecord;
|
||||
import org.xyzh.api.study.record.LearningRecordService;
|
||||
import org.xyzh.study.mapper.LearningRecordMapper;
|
||||
|
||||
/**
|
||||
* @description 学习记录服务实现类
|
||||
* @filename SCLearningRecordServiceImpl.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@Service
|
||||
public class SCLearningRecordServiceImpl implements LearningRecordService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SCLearningRecordServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private LearningRecordMapper learningRecordMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteLearningRecord(String recordID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> getResourceLearningRecords(Integer resourceType, String resourceID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> getTaskLearningStatistics(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> getUserLearningProgress(String userID, Integer resourceType,
|
||||
String resourceID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> getUserLearningRecords(String userID, Integer resourceType, String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> getUserLearningStatistics(String userID, Integer resourceType) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> markLearningComplete(String userID, Integer resourceType, String resourceID,
|
||||
String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> saveLearningRecord(TbLearningRecord learningRecord) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningRecord> updateLearningProgress(String userID, Integer resourceType, String resourceID,
|
||||
BigDecimal progress, Integer duration) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package org.xyzh.study.service.impl;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningStatistics;
|
||||
import org.xyzh.study.mapper.LearningStatisticsMapper;
|
||||
import org.xyzh.api.study.statistics.LearningStatisticsService;
|
||||
|
||||
/**
|
||||
* @description 学习统计服务实现类
|
||||
* @filename SCLearningStatisticsServiceImpl.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@Service
|
||||
public class SCLearningStatisticsServiceImpl implements LearningStatisticsService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SCLearningStatisticsServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private LearningStatisticsMapper learningStatisticsMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteLearningStatistics(String statisticsID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> getDailyLearningStatistics(String userID, Date statDate) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> getDeptLearningStatistics(String deptID, Date startDate, Date endDate) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> getLearningRanking(Date statDate, Integer limit) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> getOverallLearningStatistics(Date startDate, Date endDate) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> getUserLearningStatistics(String userID, Date startDate, Date endDate) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> saveLearningStatistics(TbLearningStatistics statistics) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningStatistics> updateLearningStatistics(String userID, Date statDate,
|
||||
Integer totalDuration, Integer resourceCount, Integer courseCount, Integer completeCount) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
package org.xyzh.study.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.study.TbLearningTask;
|
||||
import org.xyzh.common.dto.study.TbTaskUser;
|
||||
import org.xyzh.common.dto.study.TbTaskCourse;
|
||||
import org.xyzh.common.dto.study.TbTaskResource;
|
||||
import org.xyzh.study.mapper.LearningTaskMapper;
|
||||
import org.xyzh.study.mapper.TaskUserMapper;
|
||||
import org.xyzh.study.mapper.TaskCourseMapper;
|
||||
import org.xyzh.study.mapper.TaskResourceMapper;
|
||||
import org.xyzh.api.study.task.LearningTaskService;
|
||||
|
||||
/**
|
||||
* @description 学习任务服务实现类
|
||||
* @filename SCLearningTaskServiceImpl.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
@Service
|
||||
public class SCLearningTaskServiceImpl implements LearningTaskService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SCLearningTaskServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private LearningTaskMapper learningTaskMapper;
|
||||
|
||||
@Autowired
|
||||
private TaskUserMapper taskUserMapper;
|
||||
|
||||
@Autowired
|
||||
private TaskCourseMapper taskCourseMapper;
|
||||
|
||||
@Autowired
|
||||
private TaskResourceMapper taskResourceMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskCourse> addTaskCourse(TbTaskCourse taskCourse) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskResource> addTaskResource(TbTaskResource taskResource) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskUser> addTaskUser(TbTaskUser taskUser) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskUser> batchAddTaskUsers(String taskID, List<String> userIDs, String deptID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningTask> createTask(TbLearningTask task) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> deleteTask(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningTask> getTaskById(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskCourse> getTaskCourses(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningTask> getTaskList(TbLearningTask filter) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskResource> getTaskResources(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskUser> getTaskUsers(String taskID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> removeTaskCourse(String taskID, String courseID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> removeTaskResource(String taskID, String resourceID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<Boolean> removeTaskUser(String taskID, String userID) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningTask> updateTask(TbLearningTask task) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbLearningTask> updateTaskStatus(String taskID, Integer status) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbTaskUser> updateTaskUserStatus(String taskID, String userID, Integer status,
|
||||
BigDecimal progress) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user