From 370120fd4154ce6c5f69d16a4a343a016cf2e816 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 04 三月 2025 09:53:17 +0800
Subject: [PATCH] 完善问题

---
 app/task/fetch_agent.py |   44 +++++++++++++++++++++++++++-----------------
 1 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/app/task/fetch_agent.py b/app/task/fetch_agent.py
index c753f55..a5a7bfb 100644
--- a/app/task/fetch_agent.py
+++ b/app/task/fetch_agent.py
@@ -239,7 +239,7 @@
         db.close()
 
 
-def get_data_from_ragflow_v2(names: List[str]) -> List[Dict]:
+def get_data_from_ragflow_v2(names: List[str], tenant_id) -> List[Dict]:
     db = SessionRagflow()
     para = {
         "user_input_form": [],
@@ -256,7 +256,7 @@
                 .filter(Dialog.name.in_(names), Dialog.status == "1")
         else:
             query = db.query(Dialog.id, Dialog.name, Dialog.description, Dialog.status, Dialog.tenant_id).filter(
-                Dialog.status == "1")
+                Dialog.status == "1", Dialog.tenant_id == tenant_id)
 
         results = query.all()
         formatted_results = [
@@ -320,12 +320,12 @@
         db.close()
 
 
-def get_data_from_ragflow_knowledge():
+def get_data_from_ragflow_knowledge(tenant_id):
     db = SessionRagflow()
     try:
 
         results = db.query(RgKnowledge.id, RgKnowledge.name, RgKnowledge.description, RgKnowledge.status,
-                           RgKnowledge.tenant_id, RgKnowledge.doc_num, RgKnowledge.permission).all()
+                           RgKnowledge.tenant_id, RgKnowledge.doc_num, RgKnowledge.permission).filter(RgKnowledge.tenant_id==tenant_id).all()
         formatted_results = [
             {"id": row[0], "name": row[1], "description": row[2], "status": str(row[3]),
              "user_id": str(row[4]), "doc_num": row[5], "permission": row[6]} for row in results]
@@ -340,18 +340,17 @@
     try:
         app_register = AppRegisterDao(db).get_apps()
         for app in app_register:
-            if app["id"] == RAGFLOW:
-                ragflow_data = get_data_from_ragflow_v2([])
-                if ragflow_data:
-                    update_ids_in_local_v2(ragflow_data, "1")
-            # elif app["id"] == BISHENG:
-            #     bisheng_data = get_data_from_bisheng_v2([])
-            #     if bisheng_data:
-            #         update_ids_in_local_v2(bisheng_data, "2")
-            elif app["id"] == DIFY:
-                dify_data = get_data_from_dy_v2([])
-                if dify_data:
-                    update_ids_in_local_v2(dify_data, "4")
+            try:
+                if app["id"] == RAGFLOW:
+                    ragflow_data = get_data_from_ragflow_v2([], app["name"])
+                    if ragflow_data:
+                        update_ids_in_local_v2(ragflow_data, "1")
+                elif app["id"] == DIFY:
+                    dify_data = get_data_from_dy_v2([])
+                    if dify_data:
+                        update_ids_in_local_v2(dify_data, "4")
+            except Exception as e:
+                print(f"Failed to sync agents: {str(e)}")
         print("v2 Agents synchronized successfully")
     except Exception as e:
         print(f"v2 Failed to sync agents: {str(e)}")
@@ -405,6 +404,17 @@
         db.close()
 
 
+def get_one_from_ragflow_dialog(dialog_id):
+    db = SessionRagflow()
+    try:
+        row = db.query(Dialog.id, Dialog.name, Dialog.description, Dialog.status, Dialog.tenant_id) \
+            .filter(Dialog.id==dialog_id).first()
+        return {"id": row[0], "name": row[1], "description": row[2], "status": str(row[3]),
+                "user_id": str(row[4])} if row else {}
+    finally:
+        db.close()
+
+
 def sync_knowledge():
     db = SessionLocal()
 
@@ -412,7 +422,7 @@
         app_register = AppRegisterDao(db).get_apps()
         for app in app_register:
             if app["id"] == RAGFLOW:
-                ragflow_data = get_data_from_ragflow_knowledge()
+                ragflow_data = get_data_from_ragflow_knowledge(app["name"])
                 if ragflow_data:
                     update_ids_in_local_knowledge(ragflow_data, "1")
             # elif app["id"] == BISHENG:

--
Gitblit v1.8.0