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