From 3f6b4007979dc56d266e3202f28a741d93300b31 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 13 十一月 2024 19:28:33 +0800
Subject: [PATCH] 参数修改

---
 app/models/user_model.py |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 14 deletions(-)

diff --git a/app/models/user_model.py b/app/models/user_model.py
index 81715df..96d2d32 100644
--- a/app/models/user_model.py
+++ b/app/models/user_model.py
@@ -6,16 +6,16 @@
 from app.models.base_model import Base
 
 user_organization_table = Table('user_organization',Base.metadata
-                                   , Column('user_id', Integer, ForeignKey('user.id'))
-                                   , Column('organization_id', String(36), ForeignKey('organization.id')))
+                                   , Column('user_id', Integer, ForeignKey('user.id', ondelete='CASCADE'))
+                                   , Column('organization_id', String(36), ForeignKey('organization.id', ondelete='CASCADE')))
 
 user_role_table = Table('user_role', Base.metadata
-                           , Column('user_id', Integer, ForeignKey('user.id'))
-                           , Column('role_id', String(36), ForeignKey('role.id')))
+                           , Column('user_id', Integer, ForeignKey('user.id', ondelete='CASCADE'))
+                           , Column('role_id', String(36), ForeignKey('role.id', ondelete='CASCADE')))
 
 user_group_table = Table('user_group', Base.metadata
-                           , Column('user_id', Integer, ForeignKey('user.id'))
-                           , Column('group_id', Integer, ForeignKey('group.id')))
+                           , Column('user_id', Integer, ForeignKey('user.id', ondelete='CASCADE'))
+                           , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')))
 
 
 
@@ -34,6 +34,7 @@
     status = Column(String(10), nullable=False, default="1")
     creator = Column(String(36))
     sex = Column(String(1))
+    permission = Column(String(16), nullable=False, default="1")
     age = Column(Integer)
     created_at = Column(DateTime, default=datetime.now())
     updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
@@ -89,7 +90,7 @@
             'sex': self.sex,
             'age': self.age,
             "status": self.status,
-            'photo': self.phone,
+            'phone': self.phone,
             'email': self.email,
             # 'phoneNumber': self.phone_number
         }
@@ -101,16 +102,60 @@
         json['groups'] = [group.to_dict() for group in self.groups]
 
         roles = []
-        # if len(self.roles.all()) > 0:
-        #     roles = [role.to_json() for role in self.roles]
-        # organization_roles = [role.to_json() for organization in self.organizations for role in
-        #                       organization.role_list]
-        # for role in organization_roles:
-        #     if role not in roles:
-        #         roles.append(role)
+        # if len(self.roles) > 0:
+        roles = [role.to_json() for role in self.roles]
+        organization_roles = [role.to_json() for organization in self.organizations for role in
+                              organization.roles]
+        for role in organization_roles:
+            if role not in roles:
+                roles.append(role)
         json['roles'] = roles
         return json
 
+    def to_login_json(self):
+        json = {
+            'userId': self.id,
+            'createTime': self.created_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else "",
+            'updateTime': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else "",
+            'userName': self.username,
+            'loginName': self.login_name,
+            'sex': self.sex,
+            'age': self.age,
+            "status": self.status,
+            'phone': self.phone,
+            'email': self.email,
+            # 'phoneNumber': self.phone_number
+        }
+        parent_dict = {}
+        children_dict = {}
+        for role in self.roles:
+            for r in  role.to_json().get("resources", []):
+                if r["menuType"] != "1":
+                    parent_dict[r["menuId"]] = r
+                else:
+                    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 r["menuType"] != "1":
+                    parent_dict[r["menuId"]] = r
+                else:
+                    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
+
+
     def get_children(self):
         """閫掑綊鑾峰彇鎸囧畾鐢ㄦ埛鐨勫瓙鐢ㄦ埛ID鍒楄〃"""
         users = UserModel.query.filter_by(CREATOR=self.ID).all()

--
Gitblit v1.8.0