增加定时同步组织架构
This commit is contained in:
37
service/sync/employee.py
Normal file
37
service/sync/employee.py
Normal file
@@ -0,0 +1,37 @@
|
||||
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
|
||||
Reference in New Issue
Block a user