From c966f133bea46f5d1b804296b270955478fa0ac4 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 18 二月 2025 13:42:35 +0800
Subject: [PATCH] 报表合并问题处理

---
 app/api/excel.py |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/app/api/excel.py b/app/api/excel.py
index e8cc6ec..1c0ccf4 100644
--- a/app/api/excel.py
+++ b/app/api/excel.py
@@ -1,10 +1,10 @@
 import random
 import string
 
-from fastapi import APIRouter, File, UploadFile, Form, BackgroundTasks, Depends, Request
+from fastapi import APIRouter, File, UploadFile, Form, BackgroundTasks, Depends, Request, WebSocket
 from fastapi.responses import JSONResponse, FileResponse
 from sqlalchemy.orm import Session
-from starlette.websockets import WebSocket
+# from starlette.websockets import WebSocket
 
 from app.api import get_current_user, get_current_user_websocket, Response
 from app.models import UserModel, AgentType
@@ -52,14 +52,15 @@
     return prefix + random_part
 
 
-def db_create_session(db: Session, user_id: str):
+def db_create_session(db: Session, user_id: str, message:str, upload_filenames: list):
     db_id = generate_db_id()
     session = SessionService(db).create_session(
         db_id,
-        "鍚堝苟Excel",
+        message,
         "basic_excel_merge",
         AgentType.BASIC,
-        int(user_id)
+        int(user_id),
+        {"role": "user", "content": message, "upload_filenames": upload_filenames}
     )
     return session
 
@@ -102,11 +103,12 @@
     user_excel = EXCEL_FILES_PATH
     create_dir_if_not_exists(user_source)
     create_dir_if_not_exists(user_excel)
-
     while True:
-        data = await websocket.receive_text()
+        # data = await websocket.receive_text()git
+        receive_message = await websocket.receive_json()
         try:
-            if data == "\"鍚堝苟Excel\"":
+            if receive_message.get("message") == "鍚堝苟Excel":
+                upload_filenames = receive_message.get('upload_filenames', [])
                 merge_file = run_conformity(user_source, user_excel)
                 if merge_file is not None:
 
@@ -124,7 +126,7 @@
                         "type": "close",
                     })
                     # 鍒涘缓浼氳瘽璁板綍
-                    session = db_create_session(db, user_id)
+                    session = db_create_session(db, user_id, receive_message.get("message"), upload_filenames)
                     # 鏇存柊浼氳瘽璁板綍
                     if session:
                         session_id = session.id
@@ -143,8 +145,8 @@
                     await websocket.send_json({"error": "鍚堝苟澶辫触", "type": "stream", "files": []})
                     await websocket.close()
             else:
-                print(f"Received data: {data}")
-                await websocket.send_json({"error": "鏈煡鎸囦护", "data": str(data)})
+                print(f"Received data: {receive_message.get('message')}")
+                await websocket.send_json({"error": "鏈煡鎸囦护", "data": str(receive_message.get('message'))})
                 await websocket.close()
         except Exception as e:
             await websocket.send_json({"error": str(e)})

--
Gitblit v1.8.0