|
@@ -233,9 +233,13 @@ public class AiChatMessageServiceImpl implements AiChatMessageService {
|
|
|
model.setModel("dify");
|
|
|
model.setId(99L);
|
|
|
// 3. 插入 user 发送消息
|
|
|
- AiChatMessageDO userMessage = createChatMessage(conversation.getId(), null, model,
|
|
|
+ AiChatMessageDO userMessage = new AiChatMessageDO();
|
|
|
+ if (!StrUtil.contains(sendReqVO.getContent(), "ecologicalValueCalculate")) {
|
|
|
+ userMessage = createChatMessage(conversation.getId(), null, model,
|
|
|
userId, conversation.getRoleId(), MessageType.USER, sendReqVO.getContent(), sendReqVO.getUseContext(),
|
|
|
- null, sendReqVO.getContentType(), sendReqVO.getStateId());
|
|
|
+ null, sendReqVO.getContentType(), sendReqVO.getStateId());
|
|
|
+ }
|
|
|
+
|
|
|
String apiKey = DictFrameworkUtils.parseDictDataValue("ai_key", "多轮对话");
|
|
|
JSONObject requestBody = new JSONObject();
|
|
|
String kcb = "";
|
|
@@ -300,6 +304,7 @@ public class AiChatMessageServiceImpl implements AiChatMessageService {
|
|
|
// 3.2 流式返回
|
|
|
StringBuffer contentBuffer = new StringBuffer();
|
|
|
StringBuffer difyId = new StringBuffer();
|
|
|
+
|
|
|
AiChatMessageDO assistantMessage = createChatMessage(conversation.getId(), userMessage.getId(), model,
|
|
|
userId, conversation.getRoleId(), MessageType.ASSISTANT, kcb, sendReqVO.getUseContext(),
|
|
|
knowledgeSegments, sendReqVO.getContentType(), sendReqVO.getStateId());
|
|
@@ -328,11 +333,9 @@ public class AiChatMessageServiceImpl implements AiChatMessageService {
|
|
|
return success(result);
|
|
|
}).doOnComplete(() -> {
|
|
|
// 忽略租户,因为 Flux 异步无法透传租户
|
|
|
- if (!StrUtil.contains(contentBuffer.toString(), "ecologicalValueCalculate")) {
|
|
|
- assistantMessage.setContent(contentBuffer.toString());
|
|
|
- } else {
|
|
|
- assistantMessage.setContent("选中");
|
|
|
- }
|
|
|
+
|
|
|
+ assistantMessage.setContent(contentBuffer.toString());
|
|
|
+
|
|
|
|
|
|
// 1.2 保存消息
|
|
|
//更新 创建时间 方便排序
|
|
@@ -342,7 +345,7 @@ public class AiChatMessageServiceImpl implements AiChatMessageService {
|
|
|
AiChatConversationUpdateMyReqVO updateReqVO = new AiChatConversationUpdateMyReqVO();
|
|
|
updateReqVO.setId(conversation.getId());
|
|
|
updateReqVO.setDifyConversationId(difyId.toString());
|
|
|
- if (!StrUtil.contains(assistantMessage.getContent(), "><")) {
|
|
|
+ if (!StrUtil.contains(assistantMessage.getContent(), "enterpriseCard")) {
|
|
|
updateReqVO.setTitle(StrUtil.subPre(sendReqVO.getContent(), 20));
|
|
|
}
|
|
|
TenantUtils.executeIgnore(() ->
|