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