From 93f9d6fc8738c579cb815084654f6663debd80ae Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 15 十一月 2024 15:51:59 +0800
Subject: [PATCH] 对话列表过滤name空数据
---
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