api定义

This commit is contained in:
2025-10-15 14:03:58 +08:00
parent 67e7432837
commit ab22fe1008
22 changed files with 2490 additions and 7 deletions

View File

@@ -1,7 +0,0 @@
package org.xyzh;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}

View File

@@ -0,0 +1,147 @@
package org.xyzh.api.study.course;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.study.TbCourse;
import org.xyzh.common.dto.study.TbCourseChapter;
import java.util.List;
/**
* @description 课程服务接口
* @filename CourseService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface CourseService {
/**
* @description 获取课程列表
* @param filter 过滤条件
* @return ResultDomain<TbCourse> 课程列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> getCourseList(TbCourse filter);
/**
* @description 根据ID获取课程详情
* @param courseID 课程ID
* @return ResultDomain<TbCourse> 课程详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> getCourseById(String courseID);
/**
* @description 创建课程
* @param course 课程信息
* @return ResultDomain<TbCourse> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> createCourse(TbCourse course);
/**
* @description 更新课程
* @param course 课程信息
* @return ResultDomain<TbCourse> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> updateCourse(TbCourse course);
/**
* @description 删除课程
* @param courseID 课程ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteCourse(String courseID);
/**
* @description 更新课程状态
* @param courseID 课程ID
* @param status 状态
* @return ResultDomain<TbCourse> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> updateCourseStatus(String courseID, Integer status);
/**
* @description 增加课程浏览次数
* @param courseID 课程ID
* @return ResultDomain<TbCourse> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> incrementViewCount(String courseID);
/**
* @description 增加课程学习人数
* @param courseID 课程ID
* @return ResultDomain<TbCourse> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourse> incrementLearnCount(String courseID);
// ----------------课程章节相关--------------------------------
/**
* @description 获取课程章节列表
* @param courseID 课程ID
* @return ResultDomain<TbCourseChapter> 章节列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseChapter> getCourseChapters(String courseID);
/**
* @description 根据ID获取章节详情
* @param chapterID 章节ID
* @return ResultDomain<TbCourseChapter> 章节详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseChapter> getChapterById(String chapterID);
/**
* @description 创建课程章节
* @param chapter 章节信息
* @return ResultDomain<TbCourseChapter> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseChapter> createChapter(TbCourseChapter chapter);
/**
* @description 更新课程章节
* @param chapter 章节信息
* @return ResultDomain<TbCourseChapter> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseChapter> updateChapter(TbCourseChapter chapter);
/**
* @description 删除课程章节
* @param chapterID 章节ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteChapter(String chapterID);
/**
* @description 更新章节排序
* @param chapterID 章节ID
* @param orderNum 排序号
* @return ResultDomain<TbCourseChapter> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseChapter> updateChapterOrder(String chapterID, Integer orderNum);
}

View File

@@ -0,0 +1,111 @@
package org.xyzh.api.study.record;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.study.TbLearningRecord;
import java.math.BigDecimal;
import java.util.List;
/**
* @description 学习记录服务接口
* @filename LearningRecordService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface LearningRecordService {
/**
* @description 获取用户学习记录
* @param userID 用户ID
* @param resourceType 资源类型(可选)
* @param taskID 任务ID可选
* @return ResultDomain<TbLearningRecord> 学习记录列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> getUserLearningRecords(String userID, Integer resourceType, String taskID);
/**
* @description 获取资源学习记录
* @param resourceType 资源类型
* @param resourceID 资源ID
* @return ResultDomain<TbLearningRecord> 学习记录列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> getResourceLearningRecords(Integer resourceType, String resourceID);
/**
* @description 创建或更新学习记录
* @param learningRecord 学习记录
* @return ResultDomain<TbLearningRecord> 创建/更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> saveLearningRecord(TbLearningRecord learningRecord);
/**
* @description 更新学习进度
* @param userID 用户ID
* @param resourceType 资源类型
* @param resourceID 资源ID
* @param progress 进度
* @param duration 学习时长(秒)
* @return ResultDomain<TbLearningRecord> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> updateLearningProgress(String userID, Integer resourceType, String resourceID, BigDecimal progress, Integer duration);
/**
* @description 标记学习完成
* @param userID 用户ID
* @param resourceType 资源类型
* @param resourceID 资源ID
* @param taskID 任务ID可选
* @return ResultDomain<TbLearningRecord> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> markLearningComplete(String userID, Integer resourceType, String resourceID, String taskID);
/**
* @description 获取用户学习统计
* @param userID 用户ID
* @param resourceType 资源类型(可选)
* @return ResultDomain<TbLearningRecord> 学习统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> getUserLearningStatistics(String userID, Integer resourceType);
/**
* @description 获取用户学习进度
* @param userID 用户ID
* @param resourceType 资源类型
* @param resourceID 资源ID
* @return ResultDomain<TbLearningRecord> 学习进度
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> getUserLearningProgress(String userID, Integer resourceType, String resourceID);
/**
* @description 删除学习记录
* @param recordID 记录ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteLearningRecord(String recordID);
/**
* @description 获取任务学习进度统计
* @param taskID 任务ID
* @return ResultDomain<TbLearningRecord> 学习进度统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningRecord> getTaskLearningStatistics(String taskID);
}

View File

@@ -0,0 +1,101 @@
package org.xyzh.api.study.statistics;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.study.TbLearningStatistics;
import java.util.Date;
import java.util.List;
/**
* @description 学习统计服务接口
* @filename LearningStatisticsService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface LearningStatisticsService {
/**
* @description 获取用户学习统计
* @param userID 用户ID
* @param startDate 开始日期(可选)
* @param endDate 结束日期(可选)
* @return ResultDomain<TbLearningStatistics> 学习统计列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> getUserLearningStatistics(String userID, Date startDate, Date endDate);
/**
* @description 获取指定日期的学习统计
* @param userID 用户ID
* @param statDate 统计日期
* @return ResultDomain<TbLearningStatistics> 学习统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> getDailyLearningStatistics(String userID, Date statDate);
/**
* @description 创建或更新学习统计
* @param statistics 学习统计
* @return ResultDomain<TbLearningStatistics> 创建/更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> saveLearningStatistics(TbLearningStatistics statistics);
/**
* @description 更新学习统计
* @param userID 用户ID
* @param statDate 统计日期
* @param totalDuration 总学习时长
* @param resourceCount 学习资源数量
* @param courseCount 学习课程数量
* @param completeCount 完成数量
* @return ResultDomain<TbLearningStatistics> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> updateLearningStatistics(String userID, Date statDate, Integer totalDuration, Integer resourceCount, Integer courseCount, Integer completeCount);
/**
* @description 获取学习排行榜
* @param statDate 统计日期
* @param limit 限制数量
* @return ResultDomain<TbLearningStatistics> 排行榜
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> getLearningRanking(Date statDate, Integer limit);
/**
* @description 获取部门学习统计
* @param deptID 部门ID
* @param startDate 开始日期
* @param endDate 结束日期
* @return ResultDomain<TbLearningStatistics> 部门学习统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> getDeptLearningStatistics(String deptID, Date startDate, Date endDate);
/**
* @description 获取总体学习统计
* @param startDate 开始日期
* @param endDate 结束日期
* @return ResultDomain<TbLearningStatistics> 总体学习统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningStatistics> getOverallLearningStatistics(Date startDate, Date endDate);
/**
* @description 删除学习统计
* @param statisticsID 统计ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteLearningStatistics(String statisticsID);
}

View File

@@ -0,0 +1,98 @@
package org.xyzh.api.study.tag;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.study.TbCourseTag;
import java.util.List;
/**
* @description 课程标签服务接口
* @filename CourseTagService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface CourseTagService {
/**
* @description 获取所有课程标签
* @return ResultDomain<TbCourseTag> 标签列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseTag> getAllCourseTags();
/**
* @description 根据ID获取标签详情
* @param tagID 标签ID
* @return ResultDomain<TbCourseTag> 标签详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseTag> getTagById(String tagID);
/**
* @description 创建课程标签
* @param courseTag 标签信息
* @return ResultDomain<TbCourseTag> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseTag> createCourseTag(TbCourseTag courseTag);
/**
* @description 更新课程标签
* @param courseTag 标签信息
* @return ResultDomain<TbCourseTag> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseTag> updateCourseTag(TbCourseTag courseTag);
/**
* @description 删除课程标签
* @param tagID 标签ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteCourseTag(String tagID);
/**
* @description 获取课程的标签
* @param courseID 课程ID
* @return ResultDomain<TbCourseTag> 标签列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbCourseTag> getCourseTags(String courseID);
/**
* @description 为课程添加标签
* @param courseID 课程ID
* @param tagID 标签ID
* @return ResultDomain<Boolean> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> addCourseTag(String courseID, String tagID);
/**
* @description 移除课程标签
* @param courseID 课程ID
* @param tagID 标签ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeCourseTag(String courseID, String tagID);
/**
* @description 根据标签获取课程列表
* @param tagID 标签ID
* @return ResultDomain<String> 课程ID列表
* @author system
* @since 2025-10-15
*/
ResultDomain<String> getCoursesByTag(String tagID);
}

View File

@@ -0,0 +1,187 @@
package org.xyzh.api.study.task;
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 java.util.List;
/**
* @description 学习任务服务接口
* @filename LearningTaskService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface LearningTaskService {
/**
* @description 获取学习任务列表
* @param filter 过滤条件
* @return ResultDomain<TbLearningTask> 任务列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> getTaskList(TbLearningTask filter);
/**
* @description 根据ID获取任务详情
* @param taskID 任务ID
* @return ResultDomain<TbLearningTask> 任务详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> getTaskById(String taskID);
/**
* @description 创建学习任务
* @param task 任务信息
* @return ResultDomain<TbLearningTask> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> createTask(TbLearningTask task);
/**
* @description 更新学习任务
* @param task 任务信息
* @return ResultDomain<TbLearningTask> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> updateTask(TbLearningTask task);
/**
* @description 删除学习任务
* @param taskID 任务ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteTask(String taskID);
/**
* @description 更新任务状态
* @param taskID 任务ID
* @param status 状态
* @return ResultDomain<TbLearningTask> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> updateTaskStatus(String taskID, Integer status);
// ----------------任务用户相关--------------------------------
/**
* @description 获取任务用户列表
* @param taskID 任务ID
* @return ResultDomain<TbTaskUser> 用户列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskUser> getTaskUsers(String taskID);
/**
* @description 添加任务用户
* @param taskUser 任务用户信息
* @return ResultDomain<TbTaskUser> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskUser> addTaskUser(TbTaskUser taskUser);
/**
* @description 批量添加任务用户
* @param taskID 任务ID
* @param userIDs 用户ID列表
* @param deptID 部门ID
* @return ResultDomain<TbTaskUser> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskUser> batchAddTaskUsers(String taskID, List<String> userIDs, String deptID);
/**
* @description 移除任务用户
* @param taskID 任务ID
* @param userID 用户ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeTaskUser(String taskID, String userID);
/**
* @description 更新任务用户状态
* @param taskID 任务ID
* @param userID 用户ID
* @param status 状态
* @param progress 进度
* @return ResultDomain<TbTaskUser> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskUser> updateTaskUserStatus(String taskID, String userID, Integer status, java.math.BigDecimal progress);
// ----------------任务课程相关--------------------------------
/**
* @description 获取任务课程列表
* @param taskID 任务ID
* @return ResultDomain<TbTaskCourse> 课程列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskCourse> getTaskCourses(String taskID);
/**
* @description 添加任务课程
* @param taskCourse 任务课程信息
* @return ResultDomain<TbTaskCourse> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskCourse> addTaskCourse(TbTaskCourse taskCourse);
/**
* @description 移除任务课程
* @param taskID 任务ID
* @param courseID 课程ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeTaskCourse(String taskID, String courseID);
// ----------------任务资源相关--------------------------------
/**
* @description 获取任务资源列表
* @param taskID 任务ID
* @return ResultDomain<TbTaskResource> 资源列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskResource> getTaskResources(String taskID);
/**
* @description 添加任务资源
* @param taskResource 任务资源信息
* @return ResultDomain<TbTaskResource> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTaskResource> addTaskResource(TbTaskResource taskResource);
/**
* @description 移除任务资源
* @param taskID 任务ID
* @param resourceID 资源ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeTaskResource(String taskID, String resourceID);
}