From 2fcfbcefee1a6ad5b51e23223ebe77093b847c3a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 30 Oct 2025 14:45:53 +0800
Subject: [PATCH] feat(ai):优化对话流初始化逻辑 - 调整对话记录查询顺序,确保获取最新进行中的对话 - 在对话不存在时创建新对话并初始化问题 - 若对话已存在,则查询最近的对话项作为标题来源 - 修复可能因查询顺序导致的标题加载异常问题
---
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java | 73 ++++++++----------------------------
1 files changed, 17 insertions(+), 56 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
index 4f29e78..baac900 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
@@ -1,7 +1,18 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiMemberTalkItem;
+import cc.mrbird.febs.ai.req.ai.AiMessage;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
+import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.vo.MallGoodsListVo;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Date;
import java.util.List;
/**
@@ -12,66 +23,16 @@
*/
public interface AiMemberTalkItemService extends IService<AiMemberTalkItem> {
- /**
- * 根据ID查询对话项
- * @param id 对话项ID
- * @return 对话项信息
- */
- AiMemberTalkItem getById(String id);
- /**
- * 根据对话ID查询所有对话项
- * @param memberTalkId 对话ID
- * @return 对话项列表
- */
- List<AiMemberTalkItem> getByMemberTalkId(String memberTalkId);
+ AiMemberTalkItem add(String memberUuid, String id, String companyId, int type, String resContext, Date createdTime);
- /**
- * 根据用户ID查询对话项
- * @param memberId 用户ID
- * @return 对话项列表
- */
- List<AiMemberTalkItem> getByMemberId(String memberId);
+ AiMemberTalkItem getOneByQuery(LambdaQueryWrapper<AiMemberTalkItem> memberTalkItemQuery);
- /**
- * 根据类型查询对话项
- * @param type 类型 1-AI提问 2-用户回答 3-AI分析结果
- * @return 对话项列表
- */
- List<AiMemberTalkItem> getByType(Integer type);
+ List<AiMemberTalkItem> getListByQuery(LambdaQueryWrapper<AiMemberTalkItem> memberTalkItemQuery);
- /**
- * 保存对话项
- * @param aiMemberTalkItem 对话项实体
- * @return 是否保存成功
- */
- boolean saveTalkItem(AiMemberTalkItem aiMemberTalkItem);
+ IPage<ApiMemberTalkItemVo> historyPage(ApiMemberTalkItemPageDto dto);
- /**
- * 批量保存对话项
- * @param talkItems 对话项列表
- * @return 是否保存成功
- */
- boolean saveBatchTalkItems(List<AiMemberTalkItem> talkItems);
+ List<AiMessage> getQuestionUpDownContext(String memberTalkId, int code);
- /**
- * 更新对话项
- * @param aiMemberTalkItem 对话项实体
- * @return 是否更新成功
- */
- boolean updateTalkItem(AiMemberTalkItem aiMemberTalkItem);
-
- /**
- * 根据ID删除对话项
- * @param id 对话项ID
- * @return 是否删除成功
- */
- boolean deleteById(String id);
-
- /**
- * 根据对话ID删除对话项
- * @param memberTalkId 对话ID
- * @return 是否删除成功
- */
- boolean deleteByMemberTalkId(String memberTalkId);
+ IPage<ApiTalkMemberListVo> getPageByDto(ApiTalkMemberListDto dto);
}
--
Gitblit v1.9.1