From 2ef897d378675be4816266e5e7d466564880920b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 27 Aug 2025 15:32:52 +0800 Subject: [PATCH] feat(ai): 添加再练一次(重新回答)功能 --- src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java | 78 +++++++++------------------------------ 1 files changed, 18 insertions(+), 60 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..4b51641 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,15 @@ 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 java.util.List; +import reactor.core.publisher.Flux; + +import java.util.Date; +import java.util.function.Consumer; /** * AI用户对话训练记录 Service接口 @@ -12,73 +19,24 @@ */ 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 productId, Date nowTime); - /** - * 根据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); } -- Gitblit v1.9.1