39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from service import get_wecom
|
|
from model import get_session, Department
|
|
from sqlmodel import delete, select
|
|
|
|
|
|
async def sync_department():
|
|
wecom = get_wecom()
|
|
|
|
department_res = await wecom.get_departments()
|
|
|
|
with get_session() as session:
|
|
# 删除原来的数据
|
|
stmt = delete(Department)
|
|
session.execute(stmt)
|
|
session.commit()
|
|
|
|
# DepartmentInfoItem(id=302, name='亮剑一部一组-梁鹏涛', name_en=None, department_leader=['LiangPengTao'], parentid=96, order=100000000)
|
|
# 插入新的数据
|
|
for index, item in enumerate(department_res):
|
|
new_dept = Department(
|
|
id=index + 1,
|
|
wecom_dept_id=str(item.id),
|
|
dname=str(item.name),
|
|
name_en=str(item.name_en),
|
|
department_leader=item.department_leader or [],
|
|
parent_id=str(item.parentid),
|
|
order=item.order or 0,
|
|
)
|
|
session.add(new_dept)
|
|
session.commit()
|
|
|
|
|
|
def check_department_datebase():
|
|
with get_session() as session:
|
|
has = session.exec(select(Department)).first()
|
|
if not has:
|
|
return False
|
|
return True
|