fix 2 requests
This commit is contained in:
+8
-4
@@ -13,28 +13,31 @@ def updateMedodsUsers() -> bool:
|
|||||||
requestParams = ApiEndpoint.query.filter_by(title="Список докторов").first()
|
requestParams = ApiEndpoint.query.filter_by(title="Список докторов").first()
|
||||||
if not requestParams:
|
if not requestParams:
|
||||||
return False
|
return False
|
||||||
|
logger.info("Отправка запроса")
|
||||||
response = send_request(
|
response = send_request(
|
||||||
requestParams.method,
|
requestParams.method,
|
||||||
f"{medodsApi.url}{requestParams.url_path}",
|
f"{medodsApi.url}{requestParams.url_path}",
|
||||||
params=requestParams.query_params,
|
params=requestParams.query_params,
|
||||||
)
|
)
|
||||||
if not response:
|
if not response:
|
||||||
|
logger.error("Ответ не получен")
|
||||||
return False
|
return False
|
||||||
usersFromDB = []
|
usersFromDB = []
|
||||||
for user in response.json():
|
for user in response.json():
|
||||||
if user["availabilityForOnlineRecording"] != "available":
|
if user["availabilityForOnlineRecording"] != "available":
|
||||||
continue
|
continue
|
||||||
userDict = {
|
userDict = {
|
||||||
"id": user["id"],
|
"id": int(user["id"]),
|
||||||
"name": f"{user['surname']} {user['name']} {user['secondName']}",
|
"name": f"{user['surname']} {user['name']} {user['secondName']}",
|
||||||
"short_name": f"{user['surname']} {user['name'][:1]}. {user['secondName'][:1]}.",
|
"short_name": f"{user['surname']} {user['name'][:1]}. {user['secondName'][:1]}.",
|
||||||
"sex": user["sex"],
|
"sex": user["sex"],
|
||||||
"step": user["appointmentDuration"],
|
"step": int(user["appointmentDuration"]),
|
||||||
"specialties": [spec["title"] for spec in user["specialties"]],
|
"specialties": [spec["title"] for spec in user["specialties"]],
|
||||||
}
|
}
|
||||||
usersFromDB.append(userDict)
|
usersFromDB.append(userDict)
|
||||||
|
logger.info(f"Получено {len(usersFromDB)} докторов")
|
||||||
actualUsersIds = [user["id"] for user in usersFromDB]
|
actualUsersIds = [user["id"] for user in usersFromDB]
|
||||||
|
logger.info(f"{actualUsersIds = }")
|
||||||
allExistingUsers = UsersMedods.query.all()
|
allExistingUsers = UsersMedods.query.all()
|
||||||
for user in allExistingUsers:
|
for user in allExistingUsers:
|
||||||
if user.id not in actualUsersIds:
|
if user.id not in actualUsersIds:
|
||||||
@@ -45,6 +48,7 @@ def updateMedodsUsers() -> bool:
|
|||||||
for user in usersFromDB:
|
for user in usersFromDB:
|
||||||
existingUser = UsersMedods.query.filter_by(id=user["id"]).first()
|
existingUser = UsersMedods.query.filter_by(id=user["id"]).first()
|
||||||
if existingUser:
|
if existingUser:
|
||||||
|
logger.info(f"Обнаружен доктор {user['name']} {user['surname']}")
|
||||||
changes = False
|
changes = False
|
||||||
if existingUser.name != user["name"]:
|
if existingUser.name != user["name"]:
|
||||||
existingUser.name = user["name"]
|
existingUser.name = user["name"]
|
||||||
@@ -61,6 +65,7 @@ def updateMedodsUsers() -> bool:
|
|||||||
logger.info(f"Обновлен доктор {user['name']} {user['surname']}")
|
logger.info(f"Обновлен доктор {user['name']} {user['surname']}")
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
else:
|
else:
|
||||||
|
logger.info(f"Добавлен доктор {user['name']} {user['surname']}")
|
||||||
newUser = UsersMedods(
|
newUser = UsersMedods(
|
||||||
id=user["id"],
|
id=user["id"],
|
||||||
name=user["name"],
|
name=user["name"],
|
||||||
@@ -71,7 +76,6 @@ def updateMedodsUsers() -> bool:
|
|||||||
)
|
)
|
||||||
db.session.add(newUser)
|
db.session.add(newUser)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
logger.info(f"Добавлен доктор {user['name']} {user['surname']}")
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user