add new email list
This commit is contained in:
+10
-1
@@ -61,6 +61,15 @@ class DataManager:
|
|||||||
doc_ref = self._db.collection(ERROR_COLLECTION_NAME).document(result.phone)
|
doc_ref = self._db.collection(ERROR_COLLECTION_NAME).document(result.phone)
|
||||||
doc_ref.set(result.to_firestore_dict())
|
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):
|
def save_timeout_contact(self, contact: ContactPojo):
|
||||||
doc_ref = self._db.collection(TIMEOUT).document(str(contact.phone))
|
doc_ref = self._db.collection(TIMEOUT).document(str(contact.phone))
|
||||||
doc_ref.set(contact.to_firestore_dict())
|
doc_ref.set(contact.to_firestore_dict())
|
||||||
@@ -147,7 +156,7 @@ class DataManager:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
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.save_to_excel()
|
||||||
# params.firebase_store_manager.clear_all_sim_info()
|
# params.firebase_store_manager.clear_all_sim_info()
|
||||||
# print(params.firebase_store_manager.get_mail_list())
|
# print(params.firebase_store_manager.get_mail_list())
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from dataclasses_json import dataclass_json
|
from dataclasses_json import dataclass_json
|
||||||
|
|
||||||
|
from pojo import ReserveResultPojo
|
||||||
from pojo.SimInfoPojo import SimInfoPojo
|
from pojo.SimInfoPojo import SimInfoPojo
|
||||||
|
|
||||||
|
|
||||||
@@ -19,7 +20,7 @@ class AcceptedResultPojo:
|
|||||||
self.phone = phone
|
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,
|
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,
|
passport=sim_info.passport, email=sim_info.email, phone=sim_info.phone,
|
||||||
name=sim_info.name)
|
name="{} {}".format(sim_info.lastName, sim_info.firstName))
|
||||||
|
|||||||
@@ -28,9 +28,8 @@ class Mailer:
|
|||||||
aws_secret_access_key=secret)
|
aws_secret_access_key=secret)
|
||||||
|
|
||||||
def send_email(self, result: AcceptedResultPojo):
|
def send_email(self, result: AcceptedResultPojo):
|
||||||
# recipients = params.firebase_store_manager.get_mail_list()
|
recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com']
|
||||||
|
# recipients = ['panleicim@gmail.com']
|
||||||
recipients = ['panleicim@gmail.com','kamenonly@gmail.com']
|
|
||||||
|
|
||||||
mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
|
mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
|
||||||
self.logger.info("send email to " + str(recipients))
|
self.logger.info("send email to " + str(recipients))
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import datetime
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import threading
|
import threading
|
||||||
@@ -28,7 +29,7 @@ class WaitSmsWorker:
|
|||||||
"sms received for phone:{}(ccid:{})".format(self.serial_modem.phone_number, self.serial_modem.ccid))
|
"sms received for phone:{}(ccid:{})".format(self.serial_modem.phone_number, self.serial_modem.ccid))
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
u'== SMS message received ==\nFrom: {0}\nTime: {1}\nMessage:\n{2}\n'.format(sms.number, sms.time, sms.text))
|
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)
|
params.oracle_log_sender.send_sms_reception_log(sms.number, sms.text, self.serial_modem.ccid)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
@@ -67,14 +68,15 @@ class WaitSmsWorker:
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def check_sms(self, sms: Sms, ccid: str):
|
def check_sms(self, sms: Sms, phone: int):
|
||||||
self.logger.info("check sms")
|
self.logger.info("核查 sms")
|
||||||
if sms.number == self.HERMES_RDV:
|
if sms.number == self.HERMES_RDV:
|
||||||
if self.ACCEPT_SENTENCE in sms.text:
|
if self.ACCEPT_SENTENCE in sms.text:
|
||||||
self.logger.info("收到来自hermes的短信,准备发送邮件")
|
self.logger.info("收到来自hermes的短信,准备发送邮件")
|
||||||
mailer = Mailer()
|
mailer = Mailer()
|
||||||
sim_info = self.find_info_via_ccid(ccid)
|
result_pojo = params.firebase_store_manager.find_appointment_detail_via_phone(
|
||||||
accepted_result = get_accepted_result_from(sms, sim_info)
|
str(datetime.date.today()), phone)
|
||||||
|
accepted_result = get_accepted_result_from(sms, result_pojo)
|
||||||
mailer.send_email(accepted_result)
|
mailer.send_email(accepted_result)
|
||||||
|
|
||||||
|
|
||||||
@@ -82,4 +84,4 @@ if __name__ == '__main__':
|
|||||||
worker = WaitSmsWorker(None)
|
worker = WaitSmsWorker(None)
|
||||||
sms = Sms("HERMES RDV",
|
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")
|
"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'))
|
||||||
|
|||||||
Reference in New Issue
Block a user