From 4eb46966002c6ca24cbb8cc8b519a05610e81649 Mon Sep 17 00:00:00 2001
From: admin <cgf12138@163.com>
Date: 星期一, 09 六月 2025 11:17:24 +0800
Subject: [PATCH] 0606

---
 aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/config/DifyStreamClient.java |   44 +++++++++++++++++++++++++++-----------------
 1 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/config/DifyStreamClient.java b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/config/DifyStreamClient.java
index 420a25a..1226036 100644
--- a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/config/DifyStreamClient.java
+++ b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/config/DifyStreamClient.java
@@ -3,10 +3,12 @@
 import com.agentsflex.core.message.AiMessage;
 import com.agentsflex.core.prompt.HistoriesPrompt;
 import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.*;
 import com.mybatisflex.core.query.QueryWrapper;
 import okhttp3.*;
 import okio.BufferedSource;
+import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 import tech.aiflowy.ai.entity.AiBotMessage;
 import tech.aiflowy.ai.service.AiBotMessageService;
@@ -131,6 +133,9 @@
                                     JsonElement dataElement = jsonObject.get("data");
                                     if (dataElement != null && !dataElement.isJsonNull()) {
                                         JsonObject dataObject = dataElement.getAsJsonObject();
+                                        if (dataObject != null && dataObject.has("node_type")) {
+                                            continue;
+                                        }
                                         if (dataObject != null && dataObject.has("title")) {
                                             JsonElement titleElement = dataObject.get("title");
                                             if (titleElement != null && !titleElement.isJsonNull()) {
@@ -178,32 +183,37 @@
         return future;
     }
 
-    public String fileUpload(String userId, String filePath){
-        // 瑕佷笂浼犵殑鏂囦欢璺緞锛屾浛鎹负瀹為檯鐨勬枃浠惰矾寰�
-//        String filePath = "C:\\Users\\admin\\Desktop\\鍥藉姟闄㈡斂绛栨枃浠跺簱.xlsx";
-        // 鐢ㄦ埛鏍囪瘑锛屾浛鎹负瀹為檯鐨勭敤鎴锋爣璇嗭紝瑕佸拰鍙戦�佹秷鎭帴鍙g殑 user 淇濇寔涓�鑷�
+    public String fileUpload(String userId, MultipartFile file) {
+        // 鐢ㄦ埛鏍囪瘑锛岃鍜屽彂閫佹秷鎭帴鍙g殑 user 淇濇寔涓�鑷�
         String user = userId;
 
-        File file = new File(filePath);
-        if (!file.exists()) {
-            System.out.println("鏂囦欢涓嶅瓨鍦細" + filePath);
-            return user;
+        // 鍒ゆ柇鏂囦欢鏄惁涓虹┖
+        if (file.isEmpty()) {
+            System.out.println("涓婁紶鏂囦欢涓虹┖");
+            return "涓婁紶鏂囦欢涓虹┖";
         }
 
         OkHttpClient client = new OkHttpClient();
 
         // 鏋勫缓 multipart/form-data 璇锋眰浣�
-        RequestBody requestBody = new MultipartBody.Builder()
-                .setType(MultipartBody.FORM)
-                .addFormDataPart("file", file.getName(),
-                        RequestBody.create(MediaType.parse("application/octet-stream"), file))
-                .addFormDataPart("user", user)
-                .build();
+        MultipartBody.Builder requestBodyBuilder = null;
+        try {
+            requestBodyBuilder = new MultipartBody.Builder()
+                    .setType(MultipartBody.FORM)
+                    // 娣诲姞涓婁紶鏂囦欢锛岃繖閲岀洿鎺ョ敤 MultipartFile 鐨勫瓧鑺傛暟缁勬瀯寤鸿姹備綋
+                    .addFormDataPart("file", file.getOriginalFilename(),
+                            RequestBody.create(MediaType.parse("application/octet-stream"), file.getBytes()))
+                    .addFormDataPart("user", user);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+
+        RequestBody requestBody = requestBodyBuilder.build();
 
         Request request = new Request.Builder()
-                .url(apiUrl)
+                .url(apiUrl)  // 鏇挎崲涓哄疄闄呯殑鎺ュ彛鍦板潃甯搁噺
                 .post(requestBody)
-                .header("Authorization", apiKey)
+                .header("Authorization", apiKey)  // 鏇挎崲涓哄疄闄呯殑鎺堟潈瀵嗛挜甯搁噺
                 .build();
 
         try (Response response = client.newCall(request).execute()) {
@@ -216,7 +226,7 @@
             return responseBody;
         } catch (IOException e) {
             e.printStackTrace();
-            return e.getMessage();
+            return "鏂囦欢涓婁紶澶辫触锛�" + e.getMessage();
         }
     }
 

--
Gitblit v1.8.0