Rev 14724 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
from elixir import *from shop2020.model.v1.order.impl import DataServicefrom shop2020.model.v1.order.impl.DataService import RechargeTransactionfrom shop2020.thriftpy.model.v1.order.ttypes import RechargeOrderStatusfrom shop2020.model.v1.order.impl.model.RechargeOrder import RechargeOrderfrom shop2020.model.v1.order.impl.model.MobileRechargeOrder import MobileRechargeOrderfrom shop2020.model.v1.order.impl.model.DTHRechargeOrder import DTHRechargeOrderimport optparseimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom datetime import datetimeorder_list = []RECIPIENTS = ['mcom.support@spicedigital.in','mohit.mehral','rajneesh.arora@saholic.com','kshitij.sood@saholic.com','anikendra.das@saholic.com']class __Orders():def __init__(self, id, transactionTime, status, amount):self.id = idself.transactionTime = transactionTimeself.status = statusself.amount = amountdef getUnknownTransactions():saholic_orders = RechargeOrder.query.filter_by(status=RechargeOrderStatus.PAYMENT_SUCCESSFUL).all()for saholic_order in saholic_orders:order = __Orders(saholic_order.id, saholic_order.creationTimestamp, 'Unknown', saholic_order.totalAmount)order_list.append(order)hotspot_orders = RechargeTransaction.query.filter_by(status = RechargeOrderStatus.RECHARGE_UNKNOWN).all()for hotspot_order in hotspot_orders:order = __Orders(hotspot_order.id, hotspot_order.transactionTime, 'Unknown', hotspot_order.amount)order_list.append(order)def sendAlert():message="""<html><body><h3>Recharge Status Unknown</h3><table border="1" style="width:100%;"><thead><tr><th>Order Id</th><th>Status</th><th>Amount</th><th>Transaction Time</th></tr></thead><tbody>"""for order in order_list:message+="""<tr><td style="text-align:center">"""+str(order.id)+"""</td><td style="text-align:center">"""+(order.status)+"""</td><td style="text-align:center">"""+str(order.amount)+"""</td><td style="text-align:center">"""+str(order.transactionTime)+"""</td></tr>"""message+="""</tbody></table></body></html>"""print messagemsg = MIMEMultipart()msg['Subject'] = "Recharge Status Unknown" + ' - ' + str(datetime.now())msg['From'] = ""msg['To'] = ",".join(RECIPIENTS)msg.preamble = "Recharge Status Unknown" + ' - ' + str(datetime.now())html_msg = MIMEText(message, 'html')msg.attach(html_msg)smtpServer = smtplib.SMTP('localhost')smtpServer.set_debuglevel(1)sender = 'cnc.center@shop2020.in'try:smtpServer.sendmail(sender, RECIPIENTS, msg.as_string())print "Successfully sent email"except:print "Error: unable to send email."def main():parser = optparse.OptionParser()parser.add_option("-H", "--host", dest="hostname",default="localhost",type="string", help="The HOST where the DB server is running",metavar="HOST")(options, args) = parser.parse_args()try:DataService.initialize(db_hostname=options.hostname, echoOn=True)getUnknownTransactions()sendAlert()finally:session.close()if __name__=='__main__':main()