zhaoqingang
2024-11-13 de45d8dc19cd16b85344a3c3bbb243a12e8811a0
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,17 @@
        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 get_children(self):
        """递归获取指定用户的子用户ID列表"""
        users = UserModel.query.filter_by(CREATOR=self.ID).all()