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