From 2669d0e0a93e06983dade724146bd0e1b6da6ba7 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期二, 12 十一月 2024 18:42:05 +0800 Subject: [PATCH] 增加接口 --- app/models/organization_model.py | 59 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 41 insertions(+), 18 deletions(-) diff --git a/app/models/organization_model.py b/app/models/organization_model.py index ae7a1de..f0c2f55 100644 --- a/app/models/organization_model.py +++ b/app/models/organization_model.py @@ -1,18 +1,20 @@ from datetime import datetime +from typing import Optional +from pydantic import BaseModel from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime from sqlalchemy.orm import relationship, backref from app.models.base_model import Base -organization_group_table = Table('organization_group', Base.metadata, - Column('group_id', Integer, ForeignKey('group.id')), - Column('organization_id', String(36), ForeignKey('organization.id'))) +# organization_group_table = Table('organization_group', Base.metadata, +# Column('group_id', Integer, ForeignKey('group.id')), +# Column('organization_id', String(36), ForeignKey('organization.id'))) # #鏋勫缓瀵箁ole琛ㄧ殑鍏崇郴 organization_role_table = Table('organization_role', Base.metadata, - Column('role_id', String(36), ForeignKey('role.id')), - Column('organization_id', String(36), ForeignKey('organization.id'))) + Column('role_id', String(36), ForeignKey('role.id', ondelete='CASCADE')), + Column('organization_id', String(36), ForeignKey('organization.id', ondelete='CASCADE'))) class OrganizationModel(Base): __tablename__ = 'organization' @@ -25,13 +27,13 @@ iconcls = Column(String(255)) seq = Column(Integer) leader = Column(String(255)) - phone = Column(String(11)) + phone = Column(String(32)) email = Column(String(64)) status = Column(String(10), nullable=False, default="0") - groups = relationship('GroupModel', - secondary=organization_group_table, - backref=backref('organizations', lazy='dynamic')) + # groups = relationship('GroupModel', + # secondary=organization_group_table, + # backref=backref('organizations', lazy='dynamic')) roles = relationship('RoleModel', secondary=organization_role_table, @@ -61,13 +63,11 @@ 'email': self.email, 'status': self.status, 'roles': [self.role_json(role) for role in self.roles], - 'groups': [self.group_json(group) for group in self.groups], + # 'groups': [self.group_json(group) for group in self.groups], 'children': [ org.to_json() for org in self.children ] } - - return json @@ -87,25 +87,48 @@ def to_tree_select_json(self): return { - 'id': self.ID, - 'label': self.NAME, + 'id': self.id, + 'label': self.name, 'children': [org.to_tree_select_json() for org in self.children] } def get_pid(self): if self.parent: - return self.parent.ID + return self.parent.id return '' def get_pName(self): if self.parent: - return self.parent.NAME + return self.parent.name return '' def get_id(self): - return str(self.ID) + return str(self.id) def __repr__(self): - return '<Organization %r>\n' %(self.NAME) \ No newline at end of file + return '<Organization %r>\n' %(self.name) + + +class DeptList(BaseModel): + deptName: Optional[str] = "" + + +class DeptInfo(BaseModel): + deptId: Optional[str] = "" + deptName: Optional[str] = "" + leader: Optional[str] = "" + phone: Optional[str] = "" + orderNum: int + address: Optional[str] = "" + parentId: Optional[str] = "" + status: str + roles: list + groups: Optional[list] = [] + + +class DeptParent(BaseModel): + deptId: str + parentId: str + orderNum: int -- Gitblit v1.8.0