From 77b983759956322fcd2259de4f1094217535dcdb Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 13 二月 2025 17:59:08 +0800
Subject: [PATCH] 登录问题优化

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

diff --git a/app/task/fetch_agent.py b/app/task/fetch_agent.py
index da17b10..ae2e4b5 100644
--- a/app/task/fetch_agent.py
+++ b/app/task/fetch_agent.py
@@ -14,7 +14,7 @@
 from app.models.user_model import UserAppModel
 from app.models.agent_model import AgentModel
 from app.models.base_model import SessionLocal, Base
-from app.models.resource_model import ResourceModel
+from app.models.resource_model import ResourceModel, ResourceTypeModel
 from app.service.v2.app_register import AppRegisterDao
 
 # 鍒涘缓鏁版嵁搴撳紩鎿庡拰浼氳瘽宸ュ巶
@@ -163,7 +163,7 @@
             ('basic_excel_talk', 6, '鏅鸿兘鏁版嵁', 'BASIC', 'excelTalk'),
             ('basic_question_talk', 7, '鍑洪缁勫嵎', 'BASIC', 'questionTalk'),
             ('9d75142a-66eb-4e23-b7d4-03efe4584915', 8, '灏忔暟缁樺浘', 'DIFY', 'imageTalk'),
-            ('basic_paper_talk', 9, '鏂囨。鍑哄嵎', 'BASIC', 'paperTalk'),
+            ('2f6ddf93-7ba6-4b2d-b991-d96421404600', 9, '鏂囨。鍑哄嵎', 'DIFY', 'paperTalk'),
             ('basic_report_clean', 10, '鏂囨。鎶ュ憡', 'DIFY', 'reportWorkflow')
         ]
 
@@ -431,6 +431,18 @@
         db.close()
 
 
+def import_type_table(session: Session, node: dict, parent=None):
+    resource_type = ResourceTypeModel(
+        id=node['id'],
+        name=node['name'],
+        description=node.get('description')
+    )
+    if parent:
+        resource_type.parent = parent
+    session.add(resource_type)
+    session.commit()
+
+
 def import_tree(session: Session, node: dict, parent=None):
     resource = ResourceModel(
         id=node['id'],
@@ -460,6 +472,18 @@
 def sync_resources_from_json():
     db = SessionLocal()
     try:
+        if db.query(ResourceTypeModel).count() == 0:
+            with open(os.path.join(ENV_CONF_PATH, "resource_type.json"), 'r', encoding='utf-8') as file:
+                type_json_data = json.load(file)
+
+            db.query(ResourceTypeModel).delete()
+            db.commit()
+
+            for node in type_json_data:
+                import_type_table(db, node)
+            print("add resourceType record successfully")
+        else:
+            print("sync resourcesType successfully")
         if db.query(ResourceModel).count() == 0:
             with open(os.path.join(ENV_CONF_PATH, "resource.json"), 'r', encoding='utf-8') as file:
                 json_data = json.load(file)
@@ -473,7 +497,7 @@
         else:
             print("sync resources successfully")
     except Exception as e:
-        print(f"Failed to sync resources: {str(e)}")
+        print(f"Failed to sync resources or resource type: {str(e)}")
     finally:
         db.close()
 

--
Gitblit v1.8.0