Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
8118 rajveer 1
#!/usr/bin/python
2
 
3
'''
4
Send mails to MFN Customers requesting their feedback about their purchases.
5
 
6
Created on 02-Sep-2013
7
@author: Manish Sharma
8
'''
9
 
10
from shop2020.clients.CRMClient import CRMClient
11
from shop2020.model.v1.order.impl import DataService
12
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
13
from shop2020.model.v1.order.impl.DataService import Order
14
from datetime import date, timedelta
15
from elixir import *
16
from sqlalchemy.sql.expression import and_, or_, desc, not_, distinct, cast, between
8211 manish.sha 17
from sqlalchemy.sql import func
18
from sqlalchemy.sql.expression import text
8118 rajveer 19
from shop2020.thriftpy.crm.ttypes import *
20
from shop2020.clients.HelperClient import HelperClient
21
 
22
import datetime
23
 
24
help_user = 'help@saholic.com'
25
email_addresses=[]
26
 
27
def send_mail_for_MFN_customer_feedback():
28
    DataService.initialize('transaction','192.168.190.114')
29
    crm_client = CRMClient().get_client()
30
    current_time = datetime.datetime.now().date()
31
    time_start= current_time - datetime.timedelta(days=16)
32
    time_end = time_start + datetime.timedelta(days=1)
8211 manish.sha 33
    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))
8118 rajveer 34
 
35
    for order in mfn_orders:
36
        searchFilter = SearchFilter()
37
        searchFilter.customerEmailId = order.customer_email
38
 
39
        tickets = crm_client.getTickets(searchFilter)
40
        if len(tickets)==0:
41
            email_addresses.append(order.customer_email)
42
 
43
    print email_addresses
44
 
45
    body= """ Dear Customer, <br><br>
46
    Thank you very much for shopping with Saholic at Amazon.in .<br><br>
47
    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>
48
    Kindly follow below mentioned steps:-<br><br>
49
    1. Login into your Amazon account<br>
50
    2. Go to Your Order Section<br>
51
    3. Click on Seller Feedback<br><br>
9122 rajveer 52
    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>
8118 rajveer 53
    Yours Sincerely,<br>
54
    Saholic Team<br>
55
    """
56
 
57
    bcc = ['amit.sirohi@shop2020.in']
58
 
59
    helper_client = HelperClient().get_client()
60
    if len(email_addresses)>0:
61
        for email_address in email_addresses:
62
            helper_client.saveUserEmailForSending([email_address], help_user, "Feedback Request", body, 'AmazonMFN', 'AmazonFeedback', [], bcc, 1)
63
 
64
def main():
65
    send_mail_for_MFN_customer_feedback()
66
 
67
if __name__ == '__main__':
68
    main()