доработка активации поздравлений с ДР
This commit is contained in:
@@ -351,6 +351,7 @@ def api_birthdate():
|
|||||||
userData = userUpdate["userData"]
|
userData = userUpdate["userData"]
|
||||||
try:
|
try:
|
||||||
userDB = UsersBirthdate.query.filter_by(id=userId).first()
|
userDB = UsersBirthdate.query.filter_by(id=userId).first()
|
||||||
|
userDB.enabled = userData["enabled"]
|
||||||
userDB.photo_link = userData["photoLink"]
|
userDB.photo_link = userData["photoLink"]
|
||||||
userDB.congratulations = userData["congratulations"]
|
userDB.congratulations = userData["congratulations"]
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|||||||
+46
-38
@@ -22,7 +22,7 @@ def updateUsersBirthdate() -> bool:
|
|||||||
logger.error("Ответ не получен")
|
logger.error("Ответ не получен")
|
||||||
return False
|
return False
|
||||||
responseData = response.json()
|
responseData = response.json()
|
||||||
usersFromDB = []
|
usersFromMedods = list[dict]()
|
||||||
for user in responseData["data"]:
|
for user in responseData["data"]:
|
||||||
if user["birthdate"] is None:
|
if user["birthdate"] is None:
|
||||||
continue
|
continue
|
||||||
@@ -35,45 +35,53 @@ def updateUsersBirthdate() -> bool:
|
|||||||
"birthdate": datetime.date.fromisoformat(user["birthdate"]),
|
"birthdate": datetime.date.fromisoformat(user["birthdate"]),
|
||||||
"specialties": [spec["title"] for spec in user["specialties"]],
|
"specialties": [spec["title"] for spec in user["specialties"]],
|
||||||
}
|
}
|
||||||
usersFromDB.append(userDict)
|
usersFromMedods.append(userDict)
|
||||||
if user["status"] != "active":
|
|
||||||
logger.info(f"Сотрудник {userDict['name']} отключен")
|
birthdateUsers = UsersBirthdate.query.all()
|
||||||
actualUsersIds = [user["id"] for user in usersFromDB]
|
for birthdateUser in birthdateUsers:
|
||||||
allExistingUsers = UsersBirthdate.query.all()
|
medodsUser = None
|
||||||
for user in allExistingUsers:
|
|
||||||
if user.id not in actualUsersIds:
|
for userFromMedods in usersFromMedods:
|
||||||
logger.info(f"Удален сотрудник {user.name} {user.surname}")
|
if userFromMedods["id"] == birthdateUser.id:
|
||||||
db.session.delete(user)
|
medodsUser = userFromMedods.copy()
|
||||||
|
usersFromMedods.remove(userFromMedods)
|
||||||
|
break
|
||||||
|
|
||||||
|
if medodsUser is None:
|
||||||
|
logger.info(f"Удален сотрудник {birthdateUser.short_name}")
|
||||||
|
db.session.delete(birthdateUser)
|
||||||
|
db.session.commit()
|
||||||
|
continue
|
||||||
|
|
||||||
|
isUpdated = False
|
||||||
|
if birthdateUser.name != medodsUser["name"]:
|
||||||
|
birthdateUser.name = medodsUser["name"]
|
||||||
|
birthdateUser.short_name = medodsUser["short_name"]
|
||||||
|
isUpdated = True
|
||||||
|
if birthdateUser.birthdate != medodsUser["birthdate"]:
|
||||||
|
birthdateUser.birthdate = medodsUser["birthdate"]
|
||||||
|
isUpdated = True
|
||||||
|
if birthdateUser.specialties != medodsUser["specialties"]:
|
||||||
|
birthdateUser.specialties = medodsUser["specialties"]
|
||||||
|
isUpdated = True
|
||||||
|
|
||||||
|
if isUpdated:
|
||||||
|
logger.info(f"Обновлен сотрудник {birthdateUser.short_name}")
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
for user in usersFromDB:
|
for user in usersFromMedods:
|
||||||
existingUser = UsersBirthdate.query.filter_by(id=user["id"]).first()
|
logger.info(f"Добавлен сотрудник {user['short_name']}")
|
||||||
if existingUser:
|
newUser = UsersBirthdate(
|
||||||
changes = False
|
id=user["id"],
|
||||||
if existingUser.name != user["name"]:
|
enabled=user["enabled"],
|
||||||
existingUser.name = user["name"]
|
name=user["name"],
|
||||||
existingUser.short_name = user["short_name"]
|
short_name=user["short_name"],
|
||||||
changes = True
|
sex=user["sex"],
|
||||||
if existingUser.birthdate != user["birthdate"]:
|
birthdate=user["birthdate"],
|
||||||
existingUser.birthdate = user["birthdate"]
|
specialties=user["specialties"],
|
||||||
changes = True
|
)
|
||||||
if existingUser.specialties != user["specialties"]:
|
db.session.add(newUser)
|
||||||
existingUser.specialties = user["specialties"]
|
db.session.commit()
|
||||||
changes = True
|
|
||||||
|
|
||||||
if changes:
|
|
||||||
db.session.commit()
|
|
||||||
else:
|
|
||||||
newUser = UsersBirthdate(
|
|
||||||
id=user["id"],
|
|
||||||
name=user["name"],
|
|
||||||
short_name=user["short_name"],
|
|
||||||
sex=user["sex"],
|
|
||||||
birthdate=user["birthdate"],
|
|
||||||
specialties=user["specialties"],
|
|
||||||
)
|
|
||||||
db.session.add(newUser)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user