Subversion Repositories SmartDukaan

Rev

Rev 8211 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/usr/bin/python

'''
Send mails to MFN Customers requesting their feedback about their purchases.

Created on 02-Sep-2013
@author: Manish Sharma
'''

from shop2020.clients.CRMClient import CRMClient
from shop2020.model.v1.order.impl import DataService
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
from shop2020.model.v1.order.impl.DataService import Order
from datetime import date, timedelta
from elixir import *
from sqlalchemy.sql.expression import and_, or_, desc, not_, distinct, cast, between
from sqlalchemy.sql import func
from sqlalchemy.sql.expression import text
from shop2020.thriftpy.crm.ttypes import *
from shop2020.clients.HelperClient import HelperClient
    
import datetime

help_user = 'help@saholic.com'
email_addresses=[]

def send_mail_for_MFN_customer_feedback():
    DataService.initialize('transaction','192.168.190.114')
    crm_client = CRMClient().get_client()
    current_time = datetime.datetime.now().date()
    time_start= current_time - datetime.timedelta(days=16)
    time_end = time_start + datetime.timedelta(days=1)
    mfn_orders = Order.query.filter(Order.source == 3).filter((Order.status == OrderStatus.DELIVERY_SUCCESS)).filter(Order.delivery_timestamp.between (time_start,time_end)).filter(Order.delivery_timestamp <= func.timestampadd(text('day'),1,Order.promised_delivery_time))
    
    for order in mfn_orders:
        searchFilter = SearchFilter()
        searchFilter.customerEmailId = order.customer_email
        
        tickets = crm_client.getTickets(searchFilter)
        if len(tickets)==0:
            email_addresses.append(order.customer_email)
    
    print email_addresses
        
    body= """ Dear Customer, <br><br>
    Thank you very much for shopping with Saholic at Amazon.in .<br><br>
    We hope that you are happy with your purchase and if you are, please spare some time to leave positive feedback for us.<br><br>
    Kindly follow below mentioned steps:-<br><br>
    1. Login into your Amazon account<br>
    2. Go to Your Order Section<br>
    3. Click on Seller Feedback<br><br>
    Your comments and feedback help us improve our products and services for other customers. If you have any problems or concerns about your recent purchase, please get in touch with our customer service as soon as possible and we will do everything we can to help.<br><br>
    Yours Sincerely,<br>
    Saholic Team<br>
    """
    
    bcc = ['amit.sirohi@shop2020.in']
    
    helper_client = HelperClient().get_client()
    if len(email_addresses)>0:
        for email_address in email_addresses:
            helper_client.saveUserEmailForSending([email_address], help_user, "Feedback Request", body, 'AmazonMFN', 'AmazonFeedback', [], bcc, 1)

def main():
    send_mail_for_MFN_customer_feedback()

if __name__ == '__main__':
    main()