can insert accepted appointment to db

This commit is contained in:
2024-06-02 16:12:05 +02:00
parent ad733aa9b3
commit c772df34f3
3 changed files with 76 additions and 37 deletions
+45 -3
View File
@@ -1,8 +1,10 @@
import datetime
import glob
import re
from db.mongo_manager import MONGO_STORE_MANAGER
from models import AcceptedResultPojo
from db.mongo_manager import MONGO_STORE_MANAGER, MongoDbManager
from models.AcceptedResultPojo import AcceptedResultPojo
from models.ReserveResultPojo import ReserveResultPojo
CONFIRMATION_SENTENCE = "Nous avons le plaisir de vous confirmer votre rendez-vous"
TIME_REGEX = "([0-1]?[0-9]|2[0-3]):[0-5][0-9]"
@@ -44,7 +46,7 @@ def get_appointment_info_from_id(info_list: list):
for _item in _all_items:
for _info in info_list:
if _item.id == _info[0]:
_accepted = AcceptedResultPojo.get_accepted_result_from(_item, MONGO_STORE_MANAGER, _all_contact_list)
_accepted = get_accepted_result_from(_item, MONGO_STORE_MANAGER, _all_contact_list)
_accepted.store = _info[1][0]
_accepted.time = _info[1][1]
accepted_appointments.append(_accepted)
@@ -55,8 +57,48 @@ def get_appointment_info_from_id(info_list: list):
return accepted_appointments
def get_accepted_result_from(reserve_pojo: ReserveResultPojo, mongo_db_manager: MongoDbManager,
all_contact_list) -> AcceptedResultPojo:
if reserve_pojo.lastName is None or len(reserve_pojo.lastName) == 0:
for _contact in all_contact_list:
if _contact.mail == reserve_pojo.email:
reserve_pojo.lastName = _contact.last_name
reserve_pojo.firstName = _contact.first_name
reserve_pojo.phone = _contact.phone
reserve_pojo.passport = _contact.passport
if reserve_pojo is None:
# send email even there are no reserve info
return AcceptedResultPojo(id="", msg="", slot_position=0, sim_position=0,
passport="", email="", phone="",
name="", ccid="",
url="", created_at="", validated_at="")
else:
toReturn = AcceptedResultPojo(id=reserve_pojo.id, msg=reserve_pojo.message,
slot_position=reserve_pojo.slot_position,
sim_position=reserve_pojo.sim_position,
passport=reserve_pojo.passport, email=reserve_pojo.email,
phone=reserve_pojo.phone,
name="{} {}".format(reserve_pojo.lastName, reserve_pojo.firstName),
firstName=reserve_pojo.firstName, lastName=reserve_pojo.lastName,
ccid=reserve_pojo.ccid,
url=reserve_pojo.url, created_at=reserve_pojo.created_at,
validated_at=reserve_pojo.validated_at)
toReturn.mail_password = mongo_db_manager.get_code_for_email(reserve_pojo.email)
return toReturn
def migre_accepted_appointment(day: str, accepted_appointments: list):
# get successful item from firestore
for accepted_pojo in accepted_appointments:
accepted_pojo.day = day
accepted_pojo.accepted_at = datetime.datetime.strptime(day, '%Y-%m-%d').timestamp()
MONGO_STORE_MANAGER.insert_accepted_reserve(accepted_pojo)
if __name__ == '__main__':
accepted_appointments = get_appointment_info_from_id(find_ids_from_results())
migre_accepted_appointment("2024-06-01", accepted_appointments)
for _accepted in accepted_appointments:
print("""
姓名:{} ({} {})