From 841f1631b790d2c4caf24a40eb4830f57a9bafa5 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 17 Sep 2025 17:21:07 +0800 Subject: [PATCH] feat(ai): 添加知识点推荐功能- 新增 AiProductPointService接口的 recommend 方法 - 实现 AiProductPointServiceImpl 中的 recommend 方法逻辑 - 添加 ApiProductPointController 中的 recommend 接口 - 创建 ApiProductPointRecommendDto 和 ApiProductPointRecommendVo 类 --- src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java | 81 +++++++++++----------------------------- 1 files changed, 22 insertions(+), 59 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java index d9d063e..77f5c0e 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java +++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java @@ -1,8 +1,16 @@ package cc.mrbird.febs.ai.service; import cc.mrbird.febs.ai.entity.AiMemberTalk; +import cc.mrbird.febs.ai.req.memberTalk.*; +import cc.mrbird.febs.ai.res.ai.AiResponse; +import cc.mrbird.febs.common.entity.FebsResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; +import reactor.core.publisher.Flux; + +import java.util.Date; import java.util.List; +import java.util.function.Consumer; /** * AI用户对话训练记录 Service接口 @@ -12,73 +20,28 @@ */ public interface AiMemberTalkService extends IService<AiMemberTalk> { - /** - * 根据ID查询对话记录 - * @param id 对话记录ID - * @return 对话记录信息 - */ + AiMemberTalk getById(String id); - /** - * 根据用户ID查询对话记录 - * @param memberId 用户ID - * @return 对话记录列表 - */ - List<AiMemberTalk> getByMemberId(String memberId); + FebsResponse start(ApiMemberTalkDto dto); - /** - * 根据产品ID查询对话记录 - * @param productId 产品ID - * @return 对话记录列表 - */ - List<AiMemberTalk> getByProductId(String productId); + FebsResponse reload(ApiMemberTalkReloadDto dto); - /** - * 根据角色ID查询对话记录 - * @param productRoleId 角色ID - * @return 对话记录列表 - */ - List<AiMemberTalk> getByProductRoleId(String productRoleId); + void startStream(ApiMemberTalkDto dto, Consumer<AiResponse> callback); - /** - * 根据公司ID查询对话记录 - * @param companyId 公司ID - * @return 对话记录列表 - */ - List<AiMemberTalk> getByCompanyId(String companyId); + AiMemberTalk getByQuery(LambdaQueryWrapper<AiMemberTalk> query); - /** - * 保存对话记录 - * @param aiMemberTalk 对话记录实体 - * @return 是否保存成功 - */ - boolean saveTalk(AiMemberTalk aiMemberTalk); + void updateTimeUpdate(Date nowTime, String id); - /** - * 批量保存对话记录 - * @param talks 对话记录列表 - * @return 是否保存成功 - */ - boolean saveBatchTalks(List<AiMemberTalk> talks); + FebsResponse answer(ApiMemberTalkAnswerDto dto); - /** - * 更新对话记录 - * @param aiMemberTalk 对话记录实体 - * @return 是否更新成功 - */ - boolean updateTalk(AiMemberTalk aiMemberTalk); + AiMemberTalk add(String memberUuid,String companyId, String productId, Date nowTime,Integer questionCount); - /** - * 根据ID删除对话记录 - * @param id 对话记录ID - * @return 是否删除成功 - */ - boolean deleteById(String id); + FebsResponse historyPage(ApiMemberTalkItemPageDto dto); - /** - * 根据用户ID删除对话记录 - * @param memberId 用户ID - * @return 是否删除成功 - */ - boolean deleteByMemberId(String memberId); + Flux<FebsResponse> answerStream(String question); + + List<AiMemberTalk> getListByCompanyId(String companyId); + + List<AiMemberTalk> getListByCompanyIdAndMemberUuid(String companyId, String memberUuid); } -- Gitblit v1.9.1