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