api定义
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
package org.xyzh.api.ai.agent;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiAgentConfig;
|
||||
|
||||
|
||||
/**
|
||||
* @description 智能体配置服务接口
|
||||
* @filename AiAgentConfigService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiAgentConfigService {
|
||||
|
||||
/**
|
||||
* @description 获取智能体配置列表
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbAiAgentConfig> 配置列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> getAgentConfigList(Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取智能体配置详情
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<TbAiAgentConfig> 配置详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> getAgentConfigById(String configID);
|
||||
|
||||
/**
|
||||
* @description 创建智能体配置
|
||||
* @param config 配置信息
|
||||
* @return ResultDomain<TbAiAgentConfig> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> createAgentConfig(TbAiAgentConfig config);
|
||||
|
||||
/**
|
||||
* @description 更新智能体配置
|
||||
* @param config 配置信息
|
||||
* @return ResultDomain<TbAiAgentConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> updateAgentConfig(TbAiAgentConfig config);
|
||||
|
||||
/**
|
||||
* @description 删除智能体配置
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteAgentConfig(String configID);
|
||||
|
||||
/**
|
||||
* @description 更新智能体状态
|
||||
* @param configID 配置ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbAiAgentConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> updateAgentStatus(String configID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 更新智能体模型配置
|
||||
* @param configID 配置ID
|
||||
* @param modelName 模型名称
|
||||
* @param modelProvider 模型提供商
|
||||
* @param temperature 温度值
|
||||
* @param maxTokens 最大tokens
|
||||
* @param topP Top P值
|
||||
* @return ResultDomain<TbAiAgentConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> updateAgentModel(String configID, String modelName, String modelProvider,
|
||||
java.math.BigDecimal temperature, Integer maxTokens, java.math.BigDecimal topP);
|
||||
|
||||
/**
|
||||
* @description 更新智能体系统提示词
|
||||
* @param configID 配置ID
|
||||
* @param systemPrompt 系统提示词
|
||||
* @return ResultDomain<TbAiAgentConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> updateAgentPrompt(String configID, String systemPrompt);
|
||||
|
||||
/**
|
||||
* @description 获取启用的智能体配置
|
||||
* @return ResultDomain<TbAiAgentConfig> 启用的配置列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> getActiveAgentConfigs();
|
||||
|
||||
/**
|
||||
* @description 根据名称搜索智能体配置
|
||||
* @param name 智能体名称
|
||||
* @return ResultDomain<TbAiAgentConfig> 搜索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiAgentConfig> searchAgentConfigsByName(String name);
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package org.xyzh.api.ai.conversation;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiConversation;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @description AI对话会话服务接口
|
||||
* @filename AiConversationService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiConversationService {
|
||||
|
||||
/**
|
||||
* @description 获取用户会话列表
|
||||
* @param userID 用户ID
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbAiConversation> 会话列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> getUserConversations(String userID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取会话详情
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<TbAiConversation> 会话详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> getConversationById(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 创建新会话
|
||||
* @param userID 用户ID
|
||||
* @param title 会话标题
|
||||
* @return ResultDomain<TbAiConversation> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> createConversation(String userID, String title);
|
||||
|
||||
/**
|
||||
* @description 更新会话标题
|
||||
* @param conversationID 会话ID
|
||||
* @param title 新标题
|
||||
* @return ResultDomain<TbAiConversation> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> updateConversationTitle(String conversationID, String title);
|
||||
|
||||
/**
|
||||
* @description 更新会话状态
|
||||
* @param conversationID 会话ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbAiConversation> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> updateConversationStatus(String conversationID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 结束会话
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<TbAiConversation> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> endConversation(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 删除会话
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteConversation(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 更新会话消息统计
|
||||
* @param conversationID 会话ID
|
||||
* @param messageCount 消息数量
|
||||
* @param lastMessageTime 最后消息时间
|
||||
* @return ResultDomain<TbAiConversation> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> updateConversationStats(String conversationID, Integer messageCount, Date lastMessageTime);
|
||||
|
||||
/**
|
||||
* @description 获取用户会话统计
|
||||
* @param userID 用户ID
|
||||
* @param startDate 开始日期(可选)
|
||||
* @param endDate 结束日期(可选)
|
||||
* @return ResultDomain<TbAiConversation> 会话统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> getUserConversationStats(String userID, Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* @description 清空用户所有会话
|
||||
* @param userID 用户ID
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearUserConversations(String userID);
|
||||
|
||||
/**
|
||||
* @description 获取最近会话
|
||||
* @param userID 用户ID
|
||||
* @param limit 限制数量
|
||||
* @return ResultDomain<TbAiConversation> 最近会话列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiConversation> getRecentConversations(String userID, Integer limit);
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
package org.xyzh.api.ai.file;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiUploadFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description AI文件上传服务接口
|
||||
* @filename AiUploadFileService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiUploadFileService {
|
||||
|
||||
/**
|
||||
* @description 获取用户上传文件列表
|
||||
* @param userID 用户ID
|
||||
* @param conversationID 会话ID(可选)
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbAiUploadFile> 文件列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> getUserFiles(String userID, String conversationID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取文件详情
|
||||
* @param fileID 文件ID
|
||||
* @return ResultDomain<TbAiUploadFile> 文件详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> getFileById(String fileID);
|
||||
|
||||
/**
|
||||
* @description 创建文件记录
|
||||
* @param file 文件信息
|
||||
* @return ResultDomain<TbAiUploadFile> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> createFile(TbAiUploadFile file);
|
||||
|
||||
/**
|
||||
* @description 更新文件状态
|
||||
* @param fileID 文件ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbAiUploadFile> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> updateFileStatus(String fileID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 更新文件提取文本
|
||||
* @param fileID 文件ID
|
||||
* @param extractedText 提取的文本
|
||||
* @return ResultDomain<TbAiUploadFile> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> updateFileExtractedText(String fileID, String extractedText);
|
||||
|
||||
/**
|
||||
* @description 删除文件
|
||||
* @param fileID 文件ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteFile(String fileID);
|
||||
|
||||
/**
|
||||
* @description 清空会话文件
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearConversationFiles(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 清空用户文件
|
||||
* @param userID 用户ID
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearUserFiles(String userID);
|
||||
|
||||
/**
|
||||
* @description 获取文件统计
|
||||
* @param userID 用户ID
|
||||
* @param conversationID 会话ID(可选)
|
||||
* @return ResultDomain<TbAiUploadFile> 文件统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> getFileStatistics(String userID, String conversationID);
|
||||
|
||||
/**
|
||||
* @description 根据文件名搜索文件
|
||||
* @param userID 用户ID
|
||||
* @param fileName 文件名
|
||||
* @return ResultDomain<TbAiUploadFile> 搜索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> searchFilesByName(String userID, String fileName);
|
||||
|
||||
/**
|
||||
* @description 根据文件类型获取文件
|
||||
* @param userID 用户ID
|
||||
* @param fileType 文件类型
|
||||
* @return ResultDomain<TbAiUploadFile> 文件列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUploadFile> getFilesByType(String userID, String fileType);
|
||||
|
||||
/**
|
||||
* @description 批量删除文件
|
||||
* @param fileIDs 文件ID列表
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> batchDeleteFiles(List<String> fileIDs);
|
||||
|
||||
/**
|
||||
* @description 检查文件是否存在
|
||||
* @param userID 用户ID
|
||||
* @param fileName 文件名
|
||||
* @param filePath 文件路径
|
||||
* @return ResultDomain<Boolean> 是否存在
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> checkFileExists(String userID, String fileName, String filePath);
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
package org.xyzh.api.ai.knowledge;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiKnowledge;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description AI知识库服务接口
|
||||
* @filename AiKnowledgeService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiKnowledgeService {
|
||||
|
||||
/**
|
||||
* @description 获取知识库列表
|
||||
* @param filter 过滤条件
|
||||
* @return ResultDomain<TbAiKnowledge> 知识库列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> getKnowledgeList(TbAiKnowledge filter);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取知识详情
|
||||
* @param knowledgeID 知识ID
|
||||
* @return ResultDomain<TbAiKnowledge> 知识详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> getKnowledgeById(String knowledgeID);
|
||||
|
||||
/**
|
||||
* @description 创建知识
|
||||
* @param knowledge 知识信息
|
||||
* @return ResultDomain<TbAiKnowledge> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> createKnowledge(TbAiKnowledge knowledge);
|
||||
|
||||
/**
|
||||
* @description 更新知识
|
||||
* @param knowledge 知识信息
|
||||
* @return ResultDomain<TbAiKnowledge> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> updateKnowledge(TbAiKnowledge knowledge);
|
||||
|
||||
/**
|
||||
* @description 删除知识
|
||||
* @param knowledgeID 知识ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteKnowledge(String knowledgeID);
|
||||
|
||||
/**
|
||||
* @description 更新知识状态
|
||||
* @param knowledgeID 知识ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbAiKnowledge> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> updateKnowledgeStatus(String knowledgeID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 更新知识向量ID
|
||||
* @param knowledgeID 知识ID
|
||||
* @param vectorID 向量ID
|
||||
* @return ResultDomain<TbAiKnowledge> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> updateKnowledgeVector(String knowledgeID, String vectorID);
|
||||
|
||||
/**
|
||||
* @description 搜索知识
|
||||
* @param keyword 关键词
|
||||
* @param category 分类(可选)
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbAiKnowledge> 搜索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> searchKnowledge(String keyword, String category, Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据分类获取知识
|
||||
* @param category 分类
|
||||
* @return ResultDomain<TbAiKnowledge> 知识列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> getKnowledgeByCategory(String category);
|
||||
|
||||
/**
|
||||
* @description 根据标签获取知识
|
||||
* @param tag 标签
|
||||
* @return ResultDomain<TbAiKnowledge> 知识列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> getKnowledgeByTag(String tag);
|
||||
|
||||
/**
|
||||
* @description 向量检索知识
|
||||
* @param query 查询内容
|
||||
* @param limit 限制数量
|
||||
* @return ResultDomain<TbAiKnowledge> 检索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> vectorSearchKnowledge(String query, Integer limit);
|
||||
|
||||
/**
|
||||
* @description 批量删除知识
|
||||
* @param knowledgeIDs 知识ID列表
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> batchDeleteKnowledge(List<String> knowledgeIDs);
|
||||
|
||||
/**
|
||||
* @description 获取知识统计
|
||||
* @param category 分类(可选)
|
||||
* @return ResultDomain<TbAiKnowledge> 知识统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiKnowledge> getKnowledgeStatistics(String category);
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package org.xyzh.api.ai.message;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiMessage;
|
||||
|
||||
|
||||
/**
|
||||
* @description AI对话消息服务接口
|
||||
* @filename AiMessageService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiMessageService {
|
||||
|
||||
/**
|
||||
* @description 获取会话消息列表
|
||||
* @param conversationID 会话ID
|
||||
* @param limit 限制数量(可选)
|
||||
* @return ResultDomain<TbAiMessage> 消息列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> getConversationMessages(String conversationID, Integer limit);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取消息详情
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbAiMessage> 消息详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> getMessageById(String messageID);
|
||||
|
||||
/**
|
||||
* @description 发送用户消息
|
||||
* @param conversationID 会话ID
|
||||
* @param userID 用户ID
|
||||
* @param content 消息内容
|
||||
* @param fileIDs 关联文件ID(可选)
|
||||
* @return ResultDomain<TbAiMessage> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> sendUserMessage(String conversationID, String userID, String content, String fileIDs);
|
||||
|
||||
/**
|
||||
* @description 发送助手消息
|
||||
* @param conversationID 会话ID
|
||||
* @param userID 用户ID
|
||||
* @param content 消息内容
|
||||
* @param knowledgeIDs 引用知识ID(可选)
|
||||
* @param tokenCount Token数量
|
||||
* @return ResultDomain<TbAiMessage> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> sendAssistantMessage(String conversationID, String userID, String content, String knowledgeIDs, Integer tokenCount);
|
||||
|
||||
/**
|
||||
* @description 发送系统消息
|
||||
* @param conversationID 会话ID
|
||||
* @param content 消息内容
|
||||
* @return ResultDomain<TbAiMessage> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> sendSystemMessage(String conversationID, String content);
|
||||
|
||||
/**
|
||||
* @description 更新消息内容
|
||||
* @param messageID 消息ID
|
||||
* @param content 新内容
|
||||
* @return ResultDomain<TbAiMessage> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> updateMessageContent(String messageID, String content);
|
||||
|
||||
/**
|
||||
* @description 更新消息Token数量
|
||||
* @param messageID 消息ID
|
||||
* @param tokenCount Token数量
|
||||
* @return ResultDomain<TbAiMessage> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> updateMessageTokens(String messageID, Integer tokenCount);
|
||||
|
||||
/**
|
||||
* @description 删除消息
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteMessage(String messageID);
|
||||
|
||||
/**
|
||||
* @description 清空会话消息
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearConversationMessages(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 获取用户消息统计
|
||||
* @param userID 用户ID
|
||||
* @param conversationID 会话ID(可选)
|
||||
* @return ResultDomain<TbAiMessage> 消息统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> getUserMessageStats(String userID, String conversationID);
|
||||
|
||||
/**
|
||||
* @description 获取会话最后一条消息
|
||||
* @param conversationID 会话ID
|
||||
* @return ResultDomain<TbAiMessage> 最后消息
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> getLastMessage(String conversationID);
|
||||
|
||||
/**
|
||||
* @description 搜索消息内容
|
||||
* @param userID 用户ID
|
||||
* @param keyword 关键词
|
||||
* @param conversationID 会话ID(可选)
|
||||
* @return ResultDomain<TbAiMessage> 搜索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiMessage> searchMessages(String userID, String keyword, String conversationID);
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package org.xyzh.api.ai.statistics;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.ai.TbAiUsageStatistics;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description AI使用统计服务接口
|
||||
* @filename AiUsageStatisticsService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface AiUsageStatisticsService {
|
||||
|
||||
/**
|
||||
* @description 获取用户使用统计
|
||||
* @param userID 用户ID
|
||||
* @param startDate 开始日期(可选)
|
||||
* @param endDate 结束日期(可选)
|
||||
* @return ResultDomain<TbAiUsageStatistics> 统计列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getUserStatistics(String userID, Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* @description 获取指定日期的使用统计
|
||||
* @param userID 用户ID
|
||||
* @param statDate 统计日期
|
||||
* @return ResultDomain<TbAiUsageStatistics> 统计信息
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getDailyStatistics(String userID, Date statDate);
|
||||
|
||||
/**
|
||||
* @description 创建或更新使用统计
|
||||
* @param statistics 统计信息
|
||||
* @return ResultDomain<TbAiUsageStatistics> 创建/更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> saveStatistics(TbAiUsageStatistics statistics);
|
||||
|
||||
/**
|
||||
* @description 更新使用统计
|
||||
* @param userID 用户ID
|
||||
* @param statDate 统计日期
|
||||
* @param conversationCount 会话数量
|
||||
* @param messageCount 消息数量
|
||||
* @param totalTokens 总Token数
|
||||
* @param fileCount 文件数量
|
||||
* @return ResultDomain<TbAiUsageStatistics> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> updateStatistics(String userID, Date statDate, Integer conversationCount,
|
||||
Integer messageCount, Integer totalTokens, Integer fileCount);
|
||||
|
||||
/**
|
||||
* @description 增加会话数量
|
||||
* @param userID 用户ID
|
||||
* @param statDate 统计日期
|
||||
* @return ResultDomain<TbAiUsageStatistics> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> incrementConversationCount(String userID, Date statDate);
|
||||
|
||||
/**
|
||||
* @description 增加消息数量
|
||||
* @param userID 用户ID
|
||||
* @param statDate 统计日期
|
||||
* @param tokenCount Token数量
|
||||
* @return ResultDomain<TbAiUsageStatistics> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> incrementMessageCount(String userID, Date statDate, Integer tokenCount);
|
||||
|
||||
/**
|
||||
* @description 增加文件数量
|
||||
* @param userID 用户ID
|
||||
* @param statDate 统计日期
|
||||
* @return ResultDomain<TbAiUsageStatistics> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> incrementFileCount(String userID, Date statDate);
|
||||
|
||||
/**
|
||||
* @description 获取使用排行榜
|
||||
* @param statDate 统计日期
|
||||
* @param limit 限制数量
|
||||
* @return ResultDomain<TbAiUsageStatistics> 排行榜
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getUsageRanking(Date statDate, Integer limit);
|
||||
|
||||
/**
|
||||
* @description 获取总体使用统计
|
||||
* @param startDate 开始日期
|
||||
* @param endDate 结束日期
|
||||
* @return ResultDomain<TbAiUsageStatistics> 总体统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getOverallStatistics(Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* @description 获取用户使用趋势
|
||||
* @param userID 用户ID
|
||||
* @param days 天数
|
||||
* @return ResultDomain<TbAiUsageStatistics> 趋势数据
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getUserUsageTrend(String userID, Integer days);
|
||||
|
||||
/**
|
||||
* @description 删除使用统计
|
||||
* @param statisticsID 统计ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteStatistics(String statisticsID);
|
||||
|
||||
/**
|
||||
* @description 获取用户Token使用统计
|
||||
* @param userID 用户ID
|
||||
* @param startDate 开始日期
|
||||
* @param endDate 结束日期
|
||||
* @return ResultDomain<TbAiUsageStatistics> Token统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAiUsageStatistics> getUserTokenStatistics(String userID, Date startDate, Date endDate);
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package org.xyzh.api.news.banner;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbBanner;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description Banner服务接口
|
||||
* @filename BannerService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface BannerService {
|
||||
|
||||
/**
|
||||
* @description 获取Banner列表
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbBanner> Banner列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> getBannerList(Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取Banner详情
|
||||
* @param bannerID BannerID
|
||||
* @return ResultDomain<TbBanner> Banner详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> getBannerById(String bannerID);
|
||||
|
||||
/**
|
||||
* @description 创建Banner
|
||||
* @param banner Banner信息
|
||||
* @return ResultDomain<TbBanner> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> createBanner(TbBanner banner);
|
||||
|
||||
/**
|
||||
* @description 更新Banner
|
||||
* @param banner Banner信息
|
||||
* @return ResultDomain<TbBanner> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> updateBanner(TbBanner banner);
|
||||
|
||||
/**
|
||||
* @description 删除Banner
|
||||
* @param bannerID BannerID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteBanner(String bannerID);
|
||||
|
||||
/**
|
||||
* @description 更新Banner状态
|
||||
* @param bannerID BannerID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbBanner> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> updateBannerStatus(String bannerID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 更新Banner排序
|
||||
* @param bannerID BannerID
|
||||
* @param orderNum 排序号
|
||||
* @return ResultDomain<TbBanner> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> updateBannerOrder(String bannerID, Integer orderNum);
|
||||
|
||||
/**
|
||||
* @description 获取启用的Banner列表(按排序号排序)
|
||||
* @param limit 限制数量(可选)
|
||||
* @return ResultDomain<TbBanner> 启用的Banner列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbBanner> getActiveBanners(Integer limit);
|
||||
|
||||
/**
|
||||
* @description 批量更新Banner排序
|
||||
* @param bannerOrders Banner排序信息(BannerID -> 排序号)
|
||||
* @return ResultDomain<Boolean> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> batchUpdateBannerOrder(java.util.Map<String, Integer> bannerOrders);
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package org.xyzh.api.news.category;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbResourceCategory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 资源分类服务接口
|
||||
* @filename ResourceCategoryService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface ResourceCategoryService {
|
||||
|
||||
/**
|
||||
* @description 获取所有分类列表
|
||||
* @return ResultDomain<TbResourceCategory> 分类列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> getAllCategories();
|
||||
|
||||
/**
|
||||
* @description 获取分类树形结构
|
||||
* @return ResultDomain<TbResourceCategory> 分类树
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> getCategoryTree();
|
||||
|
||||
/**
|
||||
* @description 根据ID获取分类详情
|
||||
* @param categoryID 分类ID
|
||||
* @return ResultDomain<TbResourceCategory> 分类详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> getCategoryById(String categoryID);
|
||||
|
||||
/**
|
||||
* @description 根据父ID获取子分类
|
||||
* @param parentID 父分类ID
|
||||
* @return ResultDomain<TbResourceCategory> 子分类列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> getCategoriesByParent(String parentID);
|
||||
|
||||
/**
|
||||
* @description 创建分类
|
||||
* @param category 分类信息
|
||||
* @return ResultDomain<TbResourceCategory> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> createCategory(TbResourceCategory category);
|
||||
|
||||
/**
|
||||
* @description 更新分类
|
||||
* @param category 分类信息
|
||||
* @return ResultDomain<TbResourceCategory> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> updateCategory(TbResourceCategory category);
|
||||
|
||||
/**
|
||||
* @description 删除分类
|
||||
* @param categoryID 分类ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteCategory(String categoryID);
|
||||
|
||||
/**
|
||||
* @description 更新分类排序
|
||||
* @param categoryID 分类ID
|
||||
* @param orderNum 排序号
|
||||
* @return ResultDomain<TbResourceCategory> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceCategory> updateCategoryOrder(String categoryID, Integer orderNum);
|
||||
|
||||
/**
|
||||
* @description 检查分类是否有子分类
|
||||
* @param categoryID 分类ID
|
||||
* @return ResultDomain<Boolean> 是否有子分类
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> hasChildCategories(String categoryID);
|
||||
|
||||
/**
|
||||
* @description 检查分类下是否有资源
|
||||
* @param categoryID 分类ID
|
||||
* @return ResultDomain<Boolean> 是否有资源
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> hasResources(String categoryID);
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
package org.xyzh.api.news.collection;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbDataCollectionConfig;
|
||||
import org.xyzh.common.dto.resource.TbDataCollectionLog;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 数据采集服务接口
|
||||
* @filename DataCollectionService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface DataCollectionService {
|
||||
|
||||
// ----------------采集配置相关--------------------------------
|
||||
|
||||
/**
|
||||
* @description 获取采集配置列表
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbDataCollectionConfig> 配置列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> getConfigList(Integer status);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取配置详情
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<TbDataCollectionConfig> 配置详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> getConfigById(String configID);
|
||||
|
||||
/**
|
||||
* @description 创建采集配置
|
||||
* @param config 配置信息
|
||||
* @return ResultDomain<TbDataCollectionConfig> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> createConfig(TbDataCollectionConfig config);
|
||||
|
||||
/**
|
||||
* @description 更新采集配置
|
||||
* @param config 配置信息
|
||||
* @return ResultDomain<TbDataCollectionConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> updateConfig(TbDataCollectionConfig config);
|
||||
|
||||
/**
|
||||
* @description 删除采集配置
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteConfig(String configID);
|
||||
|
||||
/**
|
||||
* @description 更新配置状态
|
||||
* @param configID 配置ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbDataCollectionConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> updateConfigStatus(String configID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 更新最后采集时间
|
||||
* @param configID 配置ID
|
||||
* @param lastCollectTime 最后采集时间
|
||||
* @return ResultDomain<TbDataCollectionConfig> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionConfig> updateLastCollectTime(String configID, Date lastCollectTime);
|
||||
|
||||
// ----------------采集日志相关--------------------------------
|
||||
|
||||
/**
|
||||
* @description 获取采集日志列表
|
||||
* @param configID 配置ID(可选)
|
||||
* @param startDate 开始日期(可选)
|
||||
* @param endDate 结束日期(可选)
|
||||
* @return ResultDomain<TbDataCollectionLog> 日志列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> getLogList(String configID, Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取日志详情
|
||||
* @param logID 日志ID
|
||||
* @return ResultDomain<TbDataCollectionLog> 日志详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> getLogById(String logID);
|
||||
|
||||
/**
|
||||
* @description 创建采集日志
|
||||
* @param log 日志信息
|
||||
* @return ResultDomain<TbDataCollectionLog> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> createLog(TbDataCollectionLog log);
|
||||
|
||||
/**
|
||||
* @description 获取配置的采集统计
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<TbDataCollectionLog> 采集统计
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> getConfigStatistics(String configID);
|
||||
|
||||
// ----------------采集操作相关--------------------------------
|
||||
|
||||
/**
|
||||
* @description 执行数据采集
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<TbDataCollectionLog> 采集结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> executeCollection(String configID);
|
||||
|
||||
/**
|
||||
* @description 批量执行数据采集
|
||||
* @param configIDs 配置ID列表
|
||||
* @return ResultDomain<TbDataCollectionLog> 采集结果列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbDataCollectionLog> batchExecuteCollection(List<String> configIDs);
|
||||
|
||||
/**
|
||||
* @description 停止采集任务
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<Boolean> 停止结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> stopCollection(String configID);
|
||||
|
||||
/**
|
||||
* @description 获取采集任务状态
|
||||
* @param configID 配置ID
|
||||
* @return ResultDomain<String> 任务状态
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<String> getCollectionStatus(String configID);
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package org.xyzh.api.news.recommend;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbResourceRecommend;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 资源推荐服务接口
|
||||
* @filename ResourceRecommendService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface ResourceRecommendService {
|
||||
|
||||
/**
|
||||
* @description 获取推荐资源列表
|
||||
* @return ResultDomain<TbResourceRecommend> 推荐资源列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> getRecommendList();
|
||||
|
||||
/**
|
||||
* @description 添加推荐资源
|
||||
* @param recommend 推荐信息
|
||||
* @return ResultDomain<TbResourceRecommend> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> addRecommend(TbResourceRecommend recommend);
|
||||
|
||||
/**
|
||||
* @description 移除推荐资源
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<Boolean> 移除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> removeRecommend(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 更新推荐排序
|
||||
* @param resourceID 资源ID
|
||||
* @param orderNum 排序号
|
||||
* @return ResultDomain<TbResourceRecommend> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> updateRecommendOrder(String resourceID, Integer orderNum);
|
||||
|
||||
/**
|
||||
* @description 更新推荐理由
|
||||
* @param resourceID 资源ID
|
||||
* @param reason 推荐理由
|
||||
* @return ResultDomain<TbResourceRecommend> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> updateRecommendReason(String resourceID, String reason);
|
||||
|
||||
/**
|
||||
* @description 检查资源是否已推荐
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<Boolean> 是否已推荐
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> isResourceRecommended(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 批量添加推荐资源
|
||||
* @param resourceIDs 资源ID列表
|
||||
* @param reason 推荐理由
|
||||
* @return ResultDomain<TbResourceRecommend> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> batchAddRecommends(List<String> resourceIDs, String reason);
|
||||
|
||||
/**
|
||||
* @description 批量移除推荐资源
|
||||
* @param resourceIDs 资源ID列表
|
||||
* @return ResultDomain<Boolean> 移除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> batchRemoveRecommends(List<String> resourceIDs);
|
||||
|
||||
/**
|
||||
* @description 获取推荐资源详情
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResourceRecommend> 推荐详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceRecommend> getRecommendDetail(String resourceID);
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
package org.xyzh.api.news.resource;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbResource;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 资源服务接口
|
||||
* @filename ResourceService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface ResourceService {
|
||||
|
||||
/**
|
||||
* @description 获取资源列表
|
||||
* @param filter 过滤条件
|
||||
* @return ResultDomain<TbResource> 资源列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> getResourceList(TbResource filter);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取资源详情
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 资源详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> getResourceById(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 创建资源
|
||||
* @param resource 资源信息
|
||||
* @return ResultDomain<TbResource> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> createResource(TbResource resource);
|
||||
|
||||
/**
|
||||
* @description 更新资源
|
||||
* @param resource 资源信息
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> updateResource(TbResource resource);
|
||||
|
||||
/**
|
||||
* @description 删除资源
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteResource(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 更新资源状态
|
||||
* @param resourceID 资源ID
|
||||
* @param status 状态
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> updateResourceStatus(String resourceID, Integer status);
|
||||
|
||||
/**
|
||||
* @description 发布资源
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 发布结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> publishResource(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 下架资源
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 下架结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> unpublishResource(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 增加浏览次数
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> incrementViewCount(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 增加点赞次数
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> incrementLikeCount(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 增加收藏次数
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> incrementCollectCount(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 设置资源推荐
|
||||
* @param resourceID 资源ID
|
||||
* @param isRecommend 是否推荐
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> setResourceRecommend(String resourceID, Boolean isRecommend);
|
||||
|
||||
/**
|
||||
* @description 设置资源轮播
|
||||
* @param resourceID 资源ID
|
||||
* @param isBanner 是否轮播
|
||||
* @return ResultDomain<TbResource> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> setResourceBanner(String resourceID, Boolean isBanner);
|
||||
|
||||
/**
|
||||
* @description 获取推荐资源列表
|
||||
* @param limit 限制数量
|
||||
* @return ResultDomain<TbResource> 推荐资源列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> getRecommendResources(Integer limit);
|
||||
|
||||
/**
|
||||
* @description 获取轮播资源列表
|
||||
* @param limit 限制数量
|
||||
* @return ResultDomain<TbResource> 轮播资源列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> getBannerResources(Integer limit);
|
||||
|
||||
/**
|
||||
* @description 搜索资源
|
||||
* @param keyword 关键词
|
||||
* @param categoryID 分类ID(可选)
|
||||
* @param status 状态(可选)
|
||||
* @return ResultDomain<TbResource> 搜索结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResource> searchResources(String keyword, String categoryID, Integer status);
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
package org.xyzh.api.news.tag;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.resource.TbTag;
|
||||
import org.xyzh.common.dto.resource.TbResourceTag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 标签服务接口
|
||||
* @filename TagService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface TagService {
|
||||
|
||||
/**
|
||||
* @description 获取所有标签
|
||||
* @return ResultDomain<TbTag> 标签列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> getAllTags();
|
||||
|
||||
/**
|
||||
* @description 根据ID获取标签详情
|
||||
* @param tagID 标签ID
|
||||
* @return ResultDomain<TbTag> 标签详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> getTagById(String tagID);
|
||||
|
||||
/**
|
||||
* @description 创建标签
|
||||
* @param tag 标签信息
|
||||
* @return ResultDomain<TbTag> 创建结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> createTag(TbTag tag);
|
||||
|
||||
/**
|
||||
* @description 更新标签
|
||||
* @param tag 标签信息
|
||||
* @return ResultDomain<TbTag> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> updateTag(TbTag tag);
|
||||
|
||||
/**
|
||||
* @description 删除标签
|
||||
* @param tagID 标签ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteTag(String tagID);
|
||||
|
||||
/**
|
||||
* @description 根据名称搜索标签
|
||||
* @param name 标签名称
|
||||
* @return ResultDomain<TbTag> 标签列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> searchTagsByName(String name);
|
||||
|
||||
// ----------------资源标签关联相关--------------------------------
|
||||
|
||||
/**
|
||||
* @description 获取资源的标签
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<TbTag> 标签列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbTag> getResourceTags(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 为资源添加标签
|
||||
* @param resourceID 资源ID
|
||||
* @param tagID 标签ID
|
||||
* @return ResultDomain<TbResourceTag> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceTag> addResourceTag(String resourceID, String tagID);
|
||||
|
||||
/**
|
||||
* @description 批量为资源添加标签
|
||||
* @param resourceID 资源ID
|
||||
* @param tagIDs 标签ID列表
|
||||
* @return ResultDomain<TbResourceTag> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbResourceTag> batchAddResourceTags(String resourceID, List<String> tagIDs);
|
||||
|
||||
/**
|
||||
* @description 移除资源标签
|
||||
* @param resourceID 资源ID
|
||||
* @param tagID 标签ID
|
||||
* @return ResultDomain<Boolean> 移除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> removeResourceTag(String resourceID, String tagID);
|
||||
|
||||
/**
|
||||
* @description 清空资源的所有标签
|
||||
* @param resourceID 资源ID
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearResourceTags(String resourceID);
|
||||
|
||||
/**
|
||||
* @description 根据标签获取资源列表
|
||||
* @param tagID 标签ID
|
||||
* @return ResultDomain<String> 资源ID列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<String> getResourcesByTag(String tagID);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package org.xyzh;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello world!");
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package org.xyzh.api.usercenter.achievement;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.usercenter.TbAchievement;
|
||||
import org.xyzh.common.dto.usercenter.TbUserAchievement;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 用户成就服务接口
|
||||
* @filename UserAchievementService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface UserAchievementService {
|
||||
|
||||
/**
|
||||
* @description 获取所有成就列表
|
||||
* @param type 成就类型(可选)
|
||||
* @param level 成就等级(可选)
|
||||
* @return ResultDomain<TbAchievement> 成就列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAchievement> getAllAchievements(Integer type, Integer level);
|
||||
|
||||
/**
|
||||
* @description 获取用户已获得的成就
|
||||
* @param userID 用户ID
|
||||
* @param type 成就类型(可选)
|
||||
* @return ResultDomain<TbUserAchievement> 用户成就列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserAchievement> getUserAchievements(String userID, Integer type);
|
||||
|
||||
/**
|
||||
* @description 检查用户是否已获得成就
|
||||
* @param userID 用户ID
|
||||
* @param achievementID 成就ID
|
||||
* @return ResultDomain<Boolean> 是否已获得
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> hasAchievement(String userID, String achievementID);
|
||||
|
||||
/**
|
||||
* @description 授予用户成就
|
||||
* @param userID 用户ID
|
||||
* @param achievementID 成就ID
|
||||
* @return ResultDomain<TbUserAchievement> 授予结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserAchievement> grantAchievement(String userID, String achievementID);
|
||||
|
||||
/**
|
||||
* @description 获取成就详情
|
||||
* @param achievementID 成就ID
|
||||
* @return ResultDomain<TbAchievement> 成就详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbAchievement> getAchievementDetail(String achievementID);
|
||||
|
||||
/**
|
||||
* @description 检查用户是否满足成就条件
|
||||
* @param userID 用户ID
|
||||
* @param achievementID 成就ID
|
||||
* @return ResultDomain<Boolean> 是否满足条件
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> checkAchievementCondition(String userID, String achievementID);
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package org.xyzh.api.usercenter.browse;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.usercenter.TbUserBrowseRecord;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 用户浏览记录服务接口
|
||||
* @filename UserBrowseRecordService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface UserBrowseRecordService {
|
||||
|
||||
/**
|
||||
* @description 添加浏览记录
|
||||
* @param browseRecord 浏览记录
|
||||
* @return ResultDomain<TbUserBrowseRecord> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserBrowseRecord> addBrowseRecord(TbUserBrowseRecord browseRecord);
|
||||
|
||||
/**
|
||||
* @description 获取用户浏览记录
|
||||
* @param userID 用户ID
|
||||
* @param browseType 浏览类型(可选)
|
||||
* @param limit 限制数量(可选)
|
||||
* @return ResultDomain<TbUserBrowseRecord> 浏览记录列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserBrowseRecord> getUserBrowseRecords(String userID, Integer browseType, Integer limit);
|
||||
|
||||
/**
|
||||
* @description 删除浏览记录
|
||||
* @param recordID 记录ID
|
||||
* @return ResultDomain<Boolean> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> deleteBrowseRecord(String recordID);
|
||||
|
||||
/**
|
||||
* @description 清空用户浏览记录
|
||||
* @param userID 用户ID
|
||||
* @param browseType 浏览类型(可选)
|
||||
* @return ResultDomain<Boolean> 清空结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> clearUserBrowseRecords(String userID, Integer browseType);
|
||||
|
||||
/**
|
||||
* @description 获取浏览统计
|
||||
* @param userID 用户ID
|
||||
* @param browseType 浏览类型(可选)
|
||||
* @return ResultDomain<Integer> 浏览次数
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Integer> getBrowseCount(String userID, Integer browseType);
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package org.xyzh.api.usercenter.collection;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.usercenter.TbUserCollection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 用户收藏服务接口
|
||||
* @filename UserCollectionService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface UserCollectionService {
|
||||
|
||||
/**
|
||||
* @description 添加收藏
|
||||
* @param userCollection 收藏信息
|
||||
* @return ResultDomain<TbUserCollection> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserCollection> addCollection(TbUserCollection userCollection);
|
||||
|
||||
/**
|
||||
* @description 取消收藏
|
||||
* @param userID 用户ID
|
||||
* @param collectionType 收藏类型
|
||||
* @param collectionID 收藏对象ID
|
||||
* @return ResultDomain<Boolean> 取消结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> removeCollection(String userID, Integer collectionType, String collectionID);
|
||||
|
||||
/**
|
||||
* @description 检查是否已收藏
|
||||
* @param userID 用户ID
|
||||
* @param collectionType 收藏类型
|
||||
* @param collectionID 收藏对象ID
|
||||
* @return ResultDomain<Boolean> 是否已收藏
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<Boolean> isCollected(String userID, Integer collectionType, String collectionID);
|
||||
|
||||
/**
|
||||
* @description 获取用户收藏列表
|
||||
* @param userID 用户ID
|
||||
* @param collectionType 收藏类型(可选)
|
||||
* @return ResultDomain<TbUserCollection> 收藏列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserCollection> getUserCollections(String userID, Integer collectionType);
|
||||
|
||||
/**
|
||||
* @description 获取收藏详情
|
||||
* @param userID 用户ID
|
||||
* @param collectionType 收藏类型
|
||||
* @param collectionID 收藏对象ID
|
||||
* @return ResultDomain<TbUserCollection> 收藏详情
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserCollection> getCollectionDetail(String userID, Integer collectionType, String collectionID);
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package org.xyzh.api.usercenter.points;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.usercenter.TbUserPoints;
|
||||
import org.xyzh.common.dto.usercenter.TbPointsRecord;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 用户积分服务接口
|
||||
* @filename UserPointsService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
public interface UserPointsService {
|
||||
|
||||
/**
|
||||
* @description 获取用户积分信息
|
||||
* @param userID 用户ID
|
||||
* @return ResultDomain<TbUserPoints> 用户积分信息
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserPoints> getUserPoints(String userID);
|
||||
|
||||
/**
|
||||
* @description 更新用户积分
|
||||
* @param userPoints 用户积分信息
|
||||
* @return ResultDomain<TbUserPoints> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserPoints> updateUserPoints(TbUserPoints userPoints);
|
||||
|
||||
/**
|
||||
* @description 增加用户积分
|
||||
* @param userID 用户ID
|
||||
* @param points 积分数量
|
||||
* @param sourceType 来源类型
|
||||
* @param sourceID 来源ID
|
||||
* @param description 说明
|
||||
* @return ResultDomain<TbUserPoints> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserPoints> addUserPoints(String userID, Integer points, Integer sourceType, String sourceID, String description);
|
||||
|
||||
/**
|
||||
* @description 消费用户积分
|
||||
* @param userID 用户ID
|
||||
* @param points 积分数量
|
||||
* @param sourceType 来源类型
|
||||
* @param sourceID 来源ID
|
||||
* @param description 说明
|
||||
* @return ResultDomain<TbUserPoints> 更新结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbUserPoints> consumeUserPoints(String userID, Integer points, Integer sourceType, String sourceID, String description);
|
||||
|
||||
/**
|
||||
* @description 获取用户积分记录
|
||||
* @param userID 用户ID
|
||||
* @param type 类型(1获得 2消费)
|
||||
* @param sourceType 来源类型
|
||||
* @return ResultDomain<TbPointsRecord> 积分记录列表
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbPointsRecord> getPointsRecords(String userID, Integer type, Integer sourceType);
|
||||
|
||||
/**
|
||||
* @description 添加积分记录
|
||||
* @param pointsRecord 积分记录
|
||||
* @return ResultDomain<TbPointsRecord> 添加结果
|
||||
* @author system
|
||||
* @since 2025-10-15
|
||||
*/
|
||||
ResultDomain<TbPointsRecord> addPointsRecord(TbPointsRecord pointsRecord);
|
||||
}
|
||||
Reference in New Issue
Block a user