From deaaf771005065d9951a6df4df3e8baade2acca2 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期五, 15 十一月 2024 15:02:18 +0800
Subject: [PATCH] 增加数据同步机制

---
 app/models/user_model.py |   42 +++++++++++++++++++-----------------------
 1 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/app/models/user_model.py b/app/models/user_model.py
index d722d02..2f87e11 100644
--- a/app/models/user_model.py
+++ b/app/models/user_model.py
@@ -28,8 +28,8 @@
     phone = Column(String(255), nullable=False, default="")
     email = Column(String(255), nullable=False, default="")
     description = Column(String(255), nullable=False, default="")
-    ragflow_id = Column(String(32), unique=True, index=True)
-    bisheng_id = Column(Integer, unique=True, index=True)
+    ragflow_id = Column(String(32))
+    bisheng_id = Column(Integer)
     login_name = Column(String(100))
     status = Column(String(10), nullable=False, default="1")
     creator = Column(String(36))
@@ -127,35 +127,31 @@
             # 'phoneNumber': self.phone_number
         }
         parent_dict = {}
-        resources = []
+        children_dict = {}
         for role in self.roles:
             for r in  role.to_json().get("resources", []):
-                if not r["parentId"]:
-                    resources.append(r)
-                    continue
-                if r["parentId"] in parent_dict:
-                    parent_dict[r["parentId"]].append(r)
+                if r["menuType"] != "1":
+                    parent_dict[r["menuId"]] = r
                 else:
-                    parent_dict[r["parentId"]] = [r]
-
-        # roles = [role.to_json() for role in self.roles]
+                    if r["parentId"] in children_dict:
+                        children_dict[r["parentId"]].append(r)
+                    else:
+                        children_dict[r["parentId"]] = [r]
         organization_roles = [role.to_json() for organization in self.organizations for role in
                               organization.roles]
         for role in organization_roles:
             for r in role.to_json().get("resources", []):
-                if not r["parentId"]:
-                    resources.append(r)
-                    continue
-                if r["parentId"] in parent_dict:
-                    parent_dict[r["parentId"]].append(r)
+                if r["menuType"] != "1":
+                    parent_dict[r["menuId"]] = r
                 else:
-                    parent_dict[r["parentId"]] = [r]
-
-
-        # for resource in resources:
-        #     if resource["menuId"] in parent_dict:
-        #         resource[]
-
+                    if r["parentId"] in children_dict:
+                        children_dict[r["parentId"]].append(r)
+                    else:
+                        children_dict[r["parentId"]] = [r]
+        resources = []
+        for resource in parent_dict.values():
+            resource["children"] = children_dict.get(resource["menuId"], [])
+            resources.append(resource)
         json['resources'] = resources
         return json
 

--
Gitblit v1.8.0