38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from service import get_wecom
|
|
from model import get_session, Employee
|
|
from sqlmodel import delete, select
|
|
|
|
|
|
async def sync_department_user():
|
|
wecom = get_wecom()
|
|
|
|
dept_res = await wecom.get_departments()
|
|
|
|
with get_session() as session:
|
|
# 删除原来的数据
|
|
stmt = delete(Employee)
|
|
session.execute(stmt)
|
|
session.commit()
|
|
index_id = 1
|
|
for dept in dept_res:
|
|
user_res = await wecom.get_user_in_department(dept.id)
|
|
for item in user_res:
|
|
new_employee = Employee(
|
|
id=index_id,
|
|
wecom_user_id=item.userid,
|
|
ename=item.name,
|
|
dept_ids=[str(i) for i in item.department],
|
|
open_userid=item.open_userid,
|
|
)
|
|
index_id += 1
|
|
session.add(new_employee)
|
|
session.commit()
|
|
|
|
|
|
def check_employee_datebase():
|
|
with get_session() as session:
|
|
has = session.exec(select(Employee)).first()
|
|
if not has:
|
|
return False
|
|
return True
|