add new email list

This commit is contained in:
2022-04-20 23:02:55 +02:00
parent bd5f519c7c
commit afdf05b9ee
4 changed files with 23 additions and 12 deletions
+10 -1
View File
@@ -61,6 +61,15 @@ class DataManager:
doc_ref = self._db.collection(ERROR_COLLECTION_NAME).document(result.phone)
doc_ref.set(result.to_firestore_dict())
def find_appointment_detail_via_phone(self, day, phone) -> ReserveResultPojo:
doc_ref = self._db.collection(day)
results = doc_ref.where(u'phone', u'==', phone).stream()
result_list = []
for result in results:
result_list.append(ReserveResultPojo.from_firestore_dict(result.to_dict()))
if len(result_list) > 0:
return result_list[0]
def save_timeout_contact(self, contact: ContactPojo):
doc_ref = self._db.collection(TIMEOUT).document(str(contact.phone))
doc_ref.set(contact.to_firestore_dict())
@@ -147,7 +156,7 @@ class DataManager:
if __name__ == '__main__':
# params.firebase_store_manager.upload_contact_list_to_cloud()
# params.firebase_store_manager.find_appointment_detail_via_phone(str(datetime.date.today()), 613467904)
params.firebase_store_manager.save_to_excel()
# params.firebase_store_manager.clear_all_sim_info()
# print(params.firebase_store_manager.get_mail_list())
+3 -2
View File
@@ -2,6 +2,7 @@ from dataclasses import dataclass
from dataclasses_json import dataclass_json
from pojo import ReserveResultPojo
from pojo.SimInfoPojo import SimInfoPojo
@@ -19,7 +20,7 @@ class AcceptedResultPojo:
self.phone = phone
def get_accepted_result_from(sms, sim_info: SimInfoPojo) -> AcceptedResultPojo:
def get_accepted_result_from(sms, sim_info: ReserveResultPojo) -> AcceptedResultPojo:
return AcceptedResultPojo(sms.text, 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=sim_info.name)
name="{} {}".format(sim_info.lastName, sim_info.firstName))
+2 -3
View File
@@ -28,9 +28,8 @@ class Mailer:
aws_secret_access_key=secret)
def send_email(self, result: AcceptedResultPojo):
# recipients = params.firebase_store_manager.get_mail_list()
recipients = ['panleicim@gmail.com','kamenonly@gmail.com']
recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com']
# recipients = ['panleicim@gmail.com']
mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
self.logger.info("send email to " + str(recipients))
+8 -6
View File
@@ -1,3 +1,4 @@
import datetime
import json
import logging
import threading
@@ -28,7 +29,7 @@ class WaitSmsWorker:
"sms received for phone:{}(ccid:{})".format(self.serial_modem.phone_number, self.serial_modem.ccid))
self.logger.info(
u'== SMS message received ==\nFrom: {0}\nTime: {1}\nMessage:\n{2}\n'.format(sms.number, sms.time, sms.text))
self.check_sms(sms, self.serial_modem.ccid)
self.check_sms(sms, int(self.serial_modem.phone_number))
params.oracle_log_sender.send_sms_reception_log(sms.number, sms.text, self.serial_modem.ccid)
def run(self):
@@ -67,14 +68,15 @@ class WaitSmsWorker:
else:
return None
def check_sms(self, sms: Sms, ccid: str):
self.logger.info("check sms")
def check_sms(self, sms: Sms, phone: int):
self.logger.info("核查 sms")
if sms.number == self.HERMES_RDV:
if self.ACCEPT_SENTENCE in sms.text:
self.logger.info("收到来自hermes的短信,准备发送邮件")
mailer = Mailer()
sim_info = self.find_info_via_ccid(ccid)
accepted_result = get_accepted_result_from(sms, sim_info)
result_pojo = params.firebase_store_manager.find_appointment_detail_via_phone(
str(datetime.date.today()), phone)
accepted_result = get_accepted_result_from(sms, result_pojo)
mailer.send_email(accepted_result)
@@ -82,4 +84,4 @@ if __name__ == '__main__':
worker = WaitSmsWorker(None)
sms = Sms("HERMES RDV",
"We are pleased to confirm your appointment. You will be welcomed on Apr 14, 2022 in our store at 17 rue de Sèvres at 4:45 PM. The given hour may be subje")
worker.check_sms(sms, "8933130070216295758F")
worker.check_sms(sms, int('613467904'))