diff --git a/src/db/mongo_manager.py b/src/db/mongo_manager.py index 4445775..cc23d36 100644 --- a/src/db/mongo_manager.py +++ b/src/db/mongo_manager.py @@ -93,6 +93,19 @@ class MongoDbManager: self.logger.info(error) return appointment_list_contacts + def get_code_for_email(self, email: str): + collection_name = DESTINATION_EMAIL_LIST + try: + collection_to_use = self.db[collection_name] + mailDocument = collection_to_use.find_one(filter={'_id': email}) + if mailDocument is not None: + return MailAddress.from_firestore_dict(mailDocument).password + else: + return "" + except Exception as error: + self.logger.info(error) + return "" + def get_destination_emails(self) -> list: collection_name = DESTINATION_EMAIL_LIST email_list = [] @@ -256,7 +269,8 @@ MONGO_STORE_MANAGER = MongoDbManager() if __name__ == '__main__': db_manager = MongoDbManager() + print(db_manager.get_code_for_email("singleton_teri1991@aol.com")) # black_list = db_manager.get_blacklist_contacts() # for contact in black_list: # print(contact) - print(db_manager.count_all_successful_items_for_day("2023-01-20")) + # print(db_manager.count_all_successful_items_for_day("2023-01-20")) diff --git a/src/mail/mail_confirmation.py b/src/mail/mail_confirmation.py index 2d4e000..bdb5fcf 100644 --- a/src/mail/mail_confirmation.py +++ b/src/mail/mail_confirmation.py @@ -126,7 +126,7 @@ def accept_appointment_found(accepted_result_list: list): mailer = Mailer() print(accepted_result_list) for reserve in accepted_result_list: - mailer.send_email(get_accepted_result_from(reserve), to_all=True) + mailer.send_email(get_accepted_result_from(reserve, MONGO_STORE_MANAGER), to_all=True) MONGO_STORE_MANAGER.update_reserve_result(reserve.id, ResultEnum.ACCEPTED, reserve.message) if len(accepted_result_list) > 0: diff --git a/src/notification/AcceptedResultPojo.py b/src/notification/AcceptedResultPojo.py index 28a6400..8d9faaa 100644 --- a/src/notification/AcceptedResultPojo.py +++ b/src/notification/AcceptedResultPojo.py @@ -2,6 +2,7 @@ from dataclasses import dataclass from dataclasses_json import dataclass_json +from src.db.mongo_manager import MongoDbManager from src.pojo.ReserveResultPojo import ReserveResultPojo @@ -22,9 +23,10 @@ class AcceptedResultPojo: self.url = url self.created_at = created_at self.validated_at = validated_at + self.mail_password = "" -def get_accepted_result_from(sim_info: ReserveResultPojo) -> AcceptedResultPojo: +def get_accepted_result_from(sim_info: ReserveResultPojo, mongo_db_manager: MongoDbManager) -> AcceptedResultPojo: if sim_info is None: # send email even there are no reserve info return AcceptedResultPojo("", slot_position=0, sim_position=0, @@ -32,8 +34,11 @@ def get_accepted_result_from(sim_info: ReserveResultPojo) -> AcceptedResultPojo: name="", ccid="", url="", created_at="", validated_at="") else: - return AcceptedResultPojo(sim_info.message, slot_position=sim_info.slot_position, - sim_position=sim_info.sim_position, - passport=sim_info.passport, email=sim_info.email, phone=sim_info.phone, - name="{} {}".format(sim_info.lastName, sim_info.firstName), ccid=sim_info.ccid, - url=sim_info.url, created_at=sim_info.created_at, validated_at=sim_info.validated_at) + toReturn = AcceptedResultPojo(sim_info.message, slot_position=sim_info.slot_position, + sim_position=sim_info.sim_position, + passport=sim_info.passport, email=sim_info.email, phone=sim_info.phone, + name="{} {}".format(sim_info.lastName, sim_info.firstName), ccid=sim_info.ccid, + url=sim_info.url, created_at=sim_info.created_at, + validated_at=sim_info.validated_at) + toReturn.mail_password = mongo_db_manager.get_code_for_email(sim_info.email) + return toReturn diff --git a/src/templates/appointment_results.html b/src/templates/appointment_results.html index a190e2e..9f45d55 100644 --- a/src/templates/appointment_results.html +++ b/src/templates/appointment_results.html @@ -2,7 +2,7 @@

电话: ${result.phone}
-
邮件: ${result.email}, +
邮件: ${result.email}, 密码: ${result.mail_password} (用网易邮箱大师登录)

护照: ${result.passport}