Subversion Repositories SmartDukaan

Rev

Rev 15542 | Rev 15577 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14450 amit.gupta 1
'''
2
Created on Mar 13, 2015
3
 
4
@author: amit
5
'''
6
from datetime import date, datetime, timedelta
14632 amit.gupta 7
from dtr.main import Store, sourceMap
14650 amit.gupta 8
from dtr.reports.amazonreco import generateAmazonReco
15445 amit.gupta 9
from dtr.storage import Mysql, DataService
15540 amit.gupta 10
from dtr.storage.DataService import Users, Clicks, FlipkartOrders
14613 amit.gupta 11
from dtr.storage.Mysql import getOrdersAfterDate, getOrdersByTag
15423 amit.gupta 12
from dtr.utils.utils import fromTimeStamp
13
from elixir import *
15440 amit.gupta 14
from sqlalchemy.sql.expression import func, func, or_
14450 amit.gupta 15
from email import encoders
16
from email.mime.base import MIMEBase
17
from email.mime.multipart import MIMEMultipart
18
from email.mime.text import MIMEText
19
from pymongo.mongo_client import MongoClient
14460 amit.gupta 20
from xlrd import open_workbook
14524 amit.gupta 21
from xlutils.copy import copy
14460 amit.gupta 22
from xlwt.Workbook import Workbook
14450 amit.gupta 23
import MySQLdb
24
import smtplib
25
import time
26
import xlwt
14460 amit.gupta 27
#from xlwt import 
14450 amit.gupta 28
 
15445 amit.gupta 29
DataService.initialize()
14450 amit.gupta 30
client = MongoClient('mongodb://localhost:27017/')
31
 
32
SENDER = "cnc.center@shop2020.in"
33
PASSWORD = "5h0p2o2o"
34
SUBJECT = "DTR User Segmentation report for " + date.today().isoformat()
35
SMTP_SERVER = "smtp.gmail.com"
36
SMTP_PORT = 587    
37
 
14647 amit.gupta 38
XLS_FILENAME = "snapdealaffiliatereco.xls"
14632 amit.gupta 39
XLS_O_FILENAME = "allorders.xls"
14647 amit.gupta 40
XLS_F_FILENAME = "flipkartaffiliatereco.xls"
14650 amit.gupta 41
XLS_A_FILENAME = "amazonaffiliatereco.xls"
14460 amit.gupta 42
boldStyle = xlwt.XFStyle()
43
f = xlwt.Font()
44
f.bold = True
45
boldStyle.font = f
46
i = -1
14616 amit.gupta 47
 
48
datetime_format = xlwt.XFStyle()
49
datetime_format.num_format_str = 'dd/mm/yyyy HH:MM AM/PM'
15540 amit.gupta 50
categoryMap = {3:"Mobiles", 5:"Tablets"}
14450 amit.gupta 51
def generateFlipkartReco():
14508 amit.gupta 52
    global i
53
    i = -1
14460 amit.gupta 54
    curs = getOrdersAfterDate(datetime.now() - timedelta(days=30), 2)
55
    db = client.Dtr
14647 amit.gupta 56
    wb = xlwt.Workbook()
57
    #rb = open_workbook(XLS_F_FILENAME)
58
    #wb = copy(rb)
14460 amit.gupta 59
    #wb = xlwt.Workbook()
60
    row = 0
14647 amit.gupta 61
    row2 = 0
62
    row3 = 0
63
    row4 = 0
64
    worksheet = wb.add_sheet("All Orders")
65
    worksheet1 = wb.add_sheet("Orders Reconciled")
66
    worksheet2 = wb.add_sheet("Orders not Reconciled")
67
    worksheet3 = wb.add_sheet("Aff not Reconciled")
14460 amit.gupta 68
    worksheet.write(row, inc(), 'Order Id', boldStyle)
14647 amit.gupta 69
    worksheet1.write(row, i, 'Order Id', boldStyle)
70
    worksheet2.write(row, i, 'Order Id', boldStyle)
14460 amit.gupta 71
    worksheet.write(row, inc(), 'User Id', boldStyle)
14647 amit.gupta 72
    worksheet1.write(row, i, 'User Id', boldStyle)
73
    worksheet2.write(row, i, 'User Id', boldStyle)
14474 amit.gupta 74
    worksheet.write(row, inc(), 'Username', boldStyle)
14647 amit.gupta 75
    worksheet1.write(row, i, 'Username', boldStyle)
76
    worksheet2.write(row, i, 'Username', boldStyle)
14771 amit.gupta 77
    worksheet.write(row, inc(), 'Version code', boldStyle)
78
    worksheet1.write(row, i, 'Version code', boldStyle)
79
    worksheet2.write(row, i, 'Version code', boldStyle)
80
    worksheet.write(row, inc(), 'Device', boldStyle)
81
    worksheet1.write(row, i, 'Device', boldStyle)
82
    worksheet2.write(row, i, 'Device', boldStyle)
14460 amit.gupta 83
    worksheet.write(row, inc(), 'Merchant Order Id', boldStyle)
14647 amit.gupta 84
    worksheet1.write(row, i, 'Merchant Order Id', boldStyle)
85
    worksheet2.write(row, i, 'Merchant Order Id', boldStyle)
14460 amit.gupta 86
    worksheet.write(row, inc(), 'Product Title', boldStyle)
14647 amit.gupta 87
    worksheet1.write(row, i, 'Product Title', boldStyle)
88
    worksheet2.write(row, i, 'Product Title', boldStyle)
14460 amit.gupta 89
    worksheet.write(row, inc(), 'Price', boldStyle)
14647 amit.gupta 90
    worksheet1.write(row, i, 'Price', boldStyle)
91
    worksheet2.write(row, i, 'Price', boldStyle)
14460 amit.gupta 92
    worksheet.write(row, inc(), 'Quantity', boldStyle)
14647 amit.gupta 93
    worksheet1.write(row, i, 'Quantity', boldStyle)
94
    worksheet2.write(row, i, 'Quantity', boldStyle)
14460 amit.gupta 95
    worksheet.write(row, inc(), 'Status', boldStyle)
14647 amit.gupta 96
    worksheet1.write(row, i, 'Status', boldStyle)
97
    worksheet2.write(row, i, 'Status', boldStyle)
14460 amit.gupta 98
    worksheet.write(row, inc(), 'Detailed Status', boldStyle)
14647 amit.gupta 99
    worksheet1.write(row, i, 'Detailed Status', boldStyle)
100
    worksheet2.write(row, i, 'Detailed Status', boldStyle)
14460 amit.gupta 101
    worksheet.write(row, inc(), 'Cashback Status', boldStyle)
14647 amit.gupta 102
    worksheet1.write(row, i, 'Cashback Status', boldStyle)
103
    worksheet2.write(row, i, 'Cashback Status', boldStyle)
14460 amit.gupta 104
    worksheet.write(row, inc(), 'Our CashBack', boldStyle)
14647 amit.gupta 105
    worksheet1.write(row, i, 'Our CashBack', boldStyle)
106
    worksheet2.write(row, i, 'Our CashBack', boldStyle)
107
    worksheet.write(row, inc(), 'Sale Date', boldStyle) 
108
    worksheet1.write(row, i, 'Sale Date', boldStyle)
109
    worksheet2.write(row, i, 'Sale Date', boldStyle)
14460 amit.gupta 110
    worksheet.write(row, inc(), 'SubtagId', boldStyle)
14647 amit.gupta 111
    worksheet1.write(row, i, 'SubtagId', boldStyle)
112
    worksheet2.write(row, i, 'SubtagId', boldStyle)
14460 amit.gupta 113
    worksheet.write(row, inc(), 'Category', boldStyle)
14647 amit.gupta 114
    worksheet1.write(row, i, 'Category', boldStyle)
14460 amit.gupta 115
    worksheet.write(row, inc(), 'Aff PayOut', boldStyle)
14647 amit.gupta 116
    worksheet1.write(row, i, 'Aff PayOut', boldStyle)
14460 amit.gupta 117
    worksheet.write(row, inc(), 'Aff Sale Amount', boldStyle)
14647 amit.gupta 118
    worksheet1.write(row, i, 'Aff Sale Amount', boldStyle)
14460 amit.gupta 119
    worksheet.write(row, inc(), 'Aff Sale Date', boldStyle)
14647 amit.gupta 120
    worksheet1.write(row, i, 'Aff Sale Date', boldStyle)
14460 amit.gupta 121
    for row1 in curs:
122
        orderId = row1[0]
123
        order = db.merchantOrder.find_one({"orderId":orderId})
124
        if order is None:
125
            continue
126
        saleTime = int(time.mktime(datetime.strptime(order['placedOn'], "%d %B, %Y %I:%M %p").replace(hour=0, minute=0, second=0, microsecond=0).timetuple()))
127
        #saleTime1 = int(time.mktime((datetime.strptime(order['placedOn'], "%b %d, %Y %I:%M %p") + timedelta(seconds=-60)).timetuple()))
14647 amit.gupta 128
        reconciled_affiliates = []
14460 amit.gupta 129
        for subOrder in order['subOrders']: 
14647 amit.gupta 130
            affs = list(db.flipkartOrderAffiliateInfo.find({"productCode":subOrder.get("productCode"), "saleDateInt":saleTime}))
14460 amit.gupta 131
            row += 1
132
            i=-1
133
            worksheet.write(row, inc(), orderId)
134
            worksheet.write(row, inc(), row1[1])
14474 amit.gupta 135
            worksheet.write(row, inc(), row1[-1])
14771 amit.gupta 136
            worksheet.write(row, inc(), row1[-2])
137
            worksheet.write(row, inc(), row1[-3])
14460 amit.gupta 138
            worksheet.write(row, inc(), order['merchantOrderId'])
139
            worksheet.write(row, inc(), subOrder['productTitle'])
140
            worksheet.write(row, inc(), subOrder['amountPaid'])
141
            worksheet.write(row, inc(), subOrder['quantity'])
142
            worksheet.write(row, inc(), subOrder['status'])
143
            worksheet.write(row, inc(), subOrder['detailedStatus'])
144
            worksheet.write(row, inc(), subOrder['cashBackStatus'])
145
            worksheet.write(row, inc(), subOrder['cashBackAmount'])
146
            worksheet.write(row, inc(), subOrder['placedOn'])
147
            worksheet.write(row, inc(), order['subTagId'])
148
            for aff in affs:
14647 amit.gupta 149
                if aff["_id"] not in reconciled_affiliates and aff['subTagId']== order['subTagId']:
150
                    reconciled_affiliates.append(aff["_id"])
151
                    row2 += 1
152
                    i = -1 
153
                    worksheet1.write(row2, inc(), orderId)
154
                    worksheet1.write(row2, inc(), row1[1])
155
                    worksheet1.write(row2, inc(), row1[-1])
14771 amit.gupta 156
                    worksheet1.write(row2, inc(), row1[-2])
157
                    worksheet1.write(row2, inc(), row1[-3])
14647 amit.gupta 158
                    worksheet1.write(row2, inc(), order['merchantOrderId'])
159
                    worksheet1.write(row2, inc(), subOrder['productTitle'])
160
                    worksheet1.write(row2, inc(), subOrder['amountPaid'])
161
                    worksheet1.write(row2, inc(), subOrder['quantity'])
162
                    worksheet1.write(row2, inc(), subOrder['status'])
163
                    worksheet1.write(row2, inc(), subOrder['detailedStatus'])
164
                    worksheet1.write(row2, inc(), subOrder['cashBackStatus'])
165
                    worksheet1.write(row2, inc(), subOrder['cashBackAmount'])
166
                    worksheet1.write(row2, inc(), subOrder['placedOn'])
167
                    worksheet1.write(row2, inc(), order['subTagId'])
168
                    db.flipkartOrderAffiliateInfo.update(
169
                        {"productCode":subOrder.get("productCode"), "saleDateInt":saleTime, "subTagId":aff['subTagId']}, 
170
                        {"$set":{"reconciled":True}})
171
                    db.merchantOrder.update({"merchantOrderId":order["merchantOrderId"]}, 
172
                                            {"$set":{"reconciled":True}})
14460 amit.gupta 173
                    worksheet.write(row, inc(), aff['category'])
14647 amit.gupta 174
                    worksheet1.write(row2, i, aff['category'])
14460 amit.gupta 175
                    worksheet.write(row, inc(), aff['payOut'])
14647 amit.gupta 176
                    worksheet1.write(row2, i, aff['payOut'])
14460 amit.gupta 177
                    worksheet.write(row, inc(), aff['saleAmount'])
14647 amit.gupta 178
                    worksheet1.write(row2, i, aff['saleAmount'])
14460 amit.gupta 179
                    worksheet.write(row, inc(), aff['saleDate'])
14647 amit.gupta 180
                    worksheet1.write(row2, i, aff['saleDate'])
14460 amit.gupta 181
                    break
14647 amit.gupta 182
            row3 += 1
183
            i=-1
184
            worksheet2.write(row3, inc(), orderId)
185
            worksheet2.write(row3, inc(), row1[1])
186
            worksheet2.write(row3, inc(), row1[-1])
14771 amit.gupta 187
            worksheet2.write(row3, inc(), row1[-2])
188
            worksheet2.write(row3, inc(), row1[-3])
14647 amit.gupta 189
            worksheet2.write(row3, inc(), order['merchantOrderId'])
190
            worksheet2.write(row3, inc(), subOrder['productTitle'])
191
            worksheet2.write(row3, inc(), subOrder['amountPaid'])
192
            worksheet2.write(row3, inc(), subOrder['quantity'])
193
            worksheet2.write(row3, inc(), subOrder['status'])
194
            worksheet2.write(row3, inc(), subOrder['detailedStatus'])
195
            worksheet2.write(row3, inc(), subOrder['cashBackStatus'])
196
            worksheet2.write(row3, inc(), subOrder['cashBackAmount'])
197
            worksheet2.write(row3, inc(), subOrder['placedOn'])
198
            worksheet2.write(row3, inc(), order['subTagId'])
199
 
200
    i=-1
201
    worksheet3.write(0, inc(), "category",boldStyle)    
202
    worksheet3.write(0, inc(), "conversionStatus",boldStyle)    
203
    worksheet3.write(0, inc(), "Product Title",boldStyle)    
204
    worksheet3.write(0, inc(), "price",boldStyle)    
205
    worksheet3.write(0, inc(), "quantity",boldStyle)    
206
    worksheet3.write(0, inc(), "payOut",boldStyle)    
207
    worksheet3.write(0, inc(), "saleDate",boldStyle)    
208
    worksheet3.write(0, inc(), "subTagId",boldStyle)
209
    for aff in db.flipkartOrderAffiliateInfo.find({"reconciled":{"$exists":False}}):
210
        row4 += 1
211
        i =-1
212
        worksheet3.write(row4, inc(), aff["category"])    
213
        worksheet3.write(row4, inc(), aff["conversionStatus"])    
214
        skuData = getSkuData(2, aff["productCode"])
215
        if skuData is None:    
216
            worksheet3.write(row4, inc(), aff["productTitle"])
217
        else:
218
            worksheet3.write(row4, inc(), skuData["product_name"])
219
        worksheet3.write(row4, inc(), aff['price'])    
220
        worksheet3.write(row4, inc(), aff['quantity'])    
221
        worksheet3.write(row4, inc(), aff['payOut'])    
222
        worksheet3.write(row4, inc(), aff['saleDate'])    
223
        worksheet3.write(row4, inc(), aff['subTagId'])    
224
 
225
 
226
 
227
    wb.save(XLS_F_FILENAME)
14450 amit.gupta 228
def generateSnapDealReco():
14524 amit.gupta 229
    global i
14460 amit.gupta 230
    curs = getOrdersAfterDate(datetime.now() - timedelta(days=30), 3)
14450 amit.gupta 231
    db = client.Dtr
14524 amit.gupta 232
    notReconciled = {}
14487 amit.gupta 233
    matchedList = []
14450 amit.gupta 234
    workbook = xlwt.Workbook()
14501 amit.gupta 235
    worksheet = workbook.add_sheet("Snapdeal Reconciled")
236
    worksheet1 = workbook.add_sheet("Snapdeal Reconciled All")
14508 amit.gupta 237
    worksheet2 = workbook.add_sheet("Snapdeal Orders not reconciled")
238
    affNotReconciledSheet = workbook.add_sheet("Snapdeal Aff not reconciled")
239
    setHeaders(worksheet, worksheet1, worksheet2, affNotReconciledSheet)
14450 amit.gupta 240
    row = 0
14501 amit.gupta 241
    anotherrow = 0
14508 amit.gupta 242
    row2 = 0
14450 amit.gupta 243
    for row1 in curs:
244
        orderId = row1[0]
245
        order = db.merchantOrder.find_one({"orderId":orderId})
246
        if order is None:
247
            continue
14496 amit.gupta 248
        #saleTime = int(time.mktime(datetime.strptime(order['placedOn'], "%b %d, %Y, %I:%M %p").timetuple()))
14450 amit.gupta 249
        aff = list(db.snapdealOrderAffiliateInfo.find({"subTagId":order["subTagId"]}))
14501 amit.gupta 250
        anotherrow += 1
14988 amit.gupta 251
        try:
252
            formattedTimestamp = order['placedOn']
253
            timestamp1 = int(time.mktime(datetime.strptime(order['placedOn'], "%b %d, %Y, %I:%M %p").timetuple()))
254
        except:
255
            timestamp1 = int(time.mktime(row1[-4].timetuple()))
256
            formattedTimestamp = datetime.strftime(fromTimeStamp(timestamp1), "%b %d, %Y, %I:%M %p")
14524 amit.gupta 257
        if len(aff) > 0 and order["subTagId"] not in matchedList and int(order["paidAmount"])==int(aff[0]["saleAmount"]): 
14501 amit.gupta 258
            matchedList.append(order["subTagId"])
14610 amit.gupta 259
            db.snapdealOrderAffiliateInfo.update({"adId":aff[0].get("adId")}, {"$set":{"reconciled":True, "orderId":orderId}}, multi=True)
14501 amit.gupta 260
            order['reconciled'] = True
14610 amit.gupta 261
            order['adId'] = aff[0].get("adId")
14501 amit.gupta 262
            db.merchantOrder.save(order)
263
            row += 1
264
            i=-1 
265
            worksheet.write(row, inc(), orderId)
266
            worksheet1.write(anotherrow, i, orderId)
267
            worksheet.write(row, inc(), row1[1])
268
            worksheet1.write(anotherrow, i, row1[1])
14850 amit.gupta 269
            worksheet.write(row, inc(), row1[-1])
270
            worksheet1.write(anotherrow, i, row1[-1])
271
            worksheet.write(row, inc(), row1[-2])
272
            worksheet1.write(anotherrow, i, row1[-2])
14771 amit.gupta 273
            worksheet.write(row, inc(), row1[-3])
274
            worksheet1.write(anotherrow, i, row1[-3])
14501 amit.gupta 275
            worksheet.write(row, inc(), order['merchantOrderId'])
276
            worksheet1.write(anotherrow, i, order['merchantOrderId'])
277
            worksheet.write(row, inc(), order['subTagId'])
278
            worksheet1.write(anotherrow, i, order['subTagId'])
279
            worksheet.write(row, inc(), order['placedOn'])
280
            worksheet1.write(anotherrow, i, order['placedOn'])
14988 amit.gupta 281
            worksheet.write(row, inc(), formattedTimestamp)
282
            worksheet1.write(anotherrow, i, formattedTimestamp)
14501 amit.gupta 283
            worksheet.write(row, inc(), int(order['paidAmount']))
284
            worksheet1.write(anotherrow, i, int(order['paidAmount']))
14524 amit.gupta 285
            worksheet.write(row, inc(), aff[0]['saleDate'])
286
            worksheet1.write(anotherrow, i, aff[0]['saleDate'])
287
            worksheet.write(row, inc(), aff[0]['saleAmount'])
288
            worksheet1.write(anotherrow, i, aff[0]['saleAmount'])
289
            worksheet.write(row, inc(), aff[0]['payOut'])
290
            worksheet1.write(anotherrow, i, aff[0]['payOut'])
14601 amit.gupta 291
            worksheet.write(row, inc(), aff[0]['ip'])
292
            worksheet1.write(anotherrow, i, aff[0]['ip'])
14501 amit.gupta 293
            k = i
14504 amit.gupta 294
            row -= 1
295
            anotherrow -= 1
14501 amit.gupta 296
            for subOrder in order['subOrders']:
297
                i = k
14503 amit.gupta 298
                row += 1
299
                anotherrow += 1
14501 amit.gupta 300
                worksheet.write(row, inc(), subOrder['productTitle'])
301
                worksheet1.write(anotherrow, i, subOrder['productTitle'])
302
                worksheet.write(row, inc(), subOrder['amountPaid'])
303
                worksheet1.write(anotherrow, i, subOrder['amountPaid'])
304
                worksheet.write(row, inc(), subOrder['quantity'])
305
                worksheet1.write(anotherrow, i, subOrder['quantity'])
306
                worksheet.write(row, inc(), subOrder['status'])
307
                worksheet1.write(anotherrow, i, subOrder['status'])
308
                worksheet.write(row, inc(), subOrder['cashBackStatus'])
309
                worksheet1.write(anotherrow, i, subOrder['cashBackStatus'])
310
                worksheet.write(row, inc(), subOrder['cashBackAmount'])
311
                worksheet1.write(anotherrow, i, subOrder['cashBackAmount'])
14504 amit.gupta 312
 
14501 amit.gupta 313
        else:
14524 amit.gupta 314
            i=-1
14501 amit.gupta 315
            worksheet1.write(anotherrow, inc(), orderId)
316
            worksheet1.write(anotherrow, inc(), row1[1])
14850 amit.gupta 317
            worksheet1.write(anotherrow, inc(), row1[-1])
318
            worksheet1.write(anotherrow, inc(), row1[-2])
14771 amit.gupta 319
            worksheet1.write(anotherrow, inc(), row1[-3])
14501 amit.gupta 320
            worksheet1.write(anotherrow, inc(), order['merchantOrderId'])
321
            worksheet1.write(anotherrow, inc(), order['subTagId'])
322
            worksheet1.write(anotherrow, inc(), order['placedOn'])
15576 amit.gupta 323
            worksheet1.write(anotherrow, inc(), formattedTimestamp)
14501 amit.gupta 324
            worksheet1.write(anotherrow, inc(), int(order['paidAmount']))
14873 amit.gupta 325
 
14524 amit.gupta 326
            notReconciled[orderId] = (anotherrow, i, int(order['paidAmount']), timestamp1, order["subTagId"]) 
327
            inc()
328
            inc()
329
            inc()
14771 amit.gupta 330
            inc()
14501 amit.gupta 331
            k = i
14504 amit.gupta 332
            anotherrow -= 1
14501 amit.gupta 333
            for subOrder in order['subOrders']:
14503 amit.gupta 334
                anotherrow += 1
14501 amit.gupta 335
                i = k
14505 amit.gupta 336
                worksheet1.write(anotherrow, inc(), subOrder['productTitle'])
337
                worksheet1.write(anotherrow, inc(), subOrder['amountPaid'])
338
                worksheet1.write(anotherrow, inc(), subOrder['quantity'])
339
                worksheet1.write(anotherrow, inc(), subOrder['status'])
340
                worksheet1.write(anotherrow, inc(), subOrder['cashBackStatus'])
341
                worksheet1.write(anotherrow, inc(), subOrder['cashBackAmount'])
14570 amit.gupta 342
 
14524 amit.gupta 343
 
344
    last30Days =  date.today() - timedelta(days=30)
345
    int(time.mktime(last30Days.timetuple()))
346
    row = 0
347
    for offer in db.snapdealOrderAffiliateInfo.find({"reconciled":{"$exists":False}, 
348
                                                     "saleTime":{"$gt":int(time.mktime(last30Days.timetuple())),
349
                                                                 "$lt":int(time.mktime(date.today().timetuple()))}} ):
350
        subTagId = offer.get("subTagId")
351
        saleTime = offer.get("saleTime")
352
        orders = getOrdersByTag(subTagId, 3)
353
        for order in orders:
354
            if notReconciled.has_key(order[0]):
355
                (roww, column, paidAmount, timestamp1, oSubTagId) = notReconciled[order[0]]
356
                if paidAmount==int(offer.get("saleAmount")) and timestamp1 <= saleTime and timestamp1 + 120 >= saleTime:
357
                    i = column
14570 amit.gupta 358
                    worksheet1.write(roww, inc(), offer.get("saleDate"))        
14527 amit.gupta 359
                    worksheet1.write(roww, inc(), offer.get("saleAmount"))        
360
                    worksheet1.write(roww, inc(), offer.get("payOut"))
361
                    del notReconciled[order[0]]
14530 amit.gupta 362
                    print "found match for user", order[1]
14610 amit.gupta 363
                    db.snapdealOrderAffiliateInfo.update({"adId":offer.get("adId")}, {"$set":{"reconciled":True, "orderId":order[0]}}, multi=True)
364
                    db.merchantOrder.update({"orderId":order[0]}, {"$set":{"reconciled":True, "adId":offer.get("adId")}}, multi=True)
14570 amit.gupta 365
                    break
14530 amit.gupta 366
 
14570 amit.gupta 367
    unreconciledOrders = notReconciled.keys()
368
    row2=0
369
    for row1 in curs:
370
        if row1[0] in unreconciledOrders:
371
            for order in db.merchantOrder.find({"orderId":row1[0]}):
372
                row2 += 1
373
                i=-1
374
                worksheet2.write(row2, inc(), order["orderId"])
375
                worksheet2.write(row2, inc(), row1[1])
14850 amit.gupta 376
                worksheet2.write(row2, inc(), row1[-1])
377
                worksheet2.write(row2, inc(), row1[-2])
14771 amit.gupta 378
                worksheet2.write(row2, inc(), row1[-3])
14570 amit.gupta 379
                worksheet2.write(row2, inc(), order['merchantOrderId'])
380
                worksheet2.write(row2, inc(), order['subTagId'])
381
                worksheet2.write(row2, inc(), order['placedOn'])
14988 amit.gupta 382
                worksheet2.write(row2, inc(), formattedTimestamp)
14570 amit.gupta 383
                worksheet2.write(row2, inc(), int(order['paidAmount']))
384
                row2 -=1
385
                k=i
386
                for subOrder in order['subOrders']:
387
                    i = k
388
                    row2 += 1
389
                    worksheet2.write(row2, inc(), subOrder['productTitle'])
390
                    worksheet2.write(row2, inc(), subOrder['amountPaid'])
391
                    worksheet2.write(row2, inc(), subOrder['quantity'])
392
                    worksheet2.write(row2, inc(), subOrder['status'])
393
                    worksheet2.write(row2, inc(), subOrder['cashBackStatus'])
394
                    worksheet2.write(row2, inc(), subOrder['cashBackAmount'])
395
 
396
 
397
    for offer in db.snapdealOrderAffiliateInfo.find({"reconciled":{"$exists":False}, 
398
                                                     "saleTime":{"$gt":int(time.mktime(last30Days.timetuple())),
399
                                                                 "$lt":int(time.mktime(date.today().timetuple()))}} ):
400
        row += 1
401
        i=-1
402
        affNotReconciledSheet.write(row, inc(), offer.get("adId")) 
403
        affNotReconciledSheet.write(row, inc(), offer.get("subTagId")) 
404
        affNotReconciledSheet.write(row, inc(), offer.get("saleDate")) 
405
        affNotReconciledSheet.write(row, inc(), offer.get("saleAmount")) 
406
        affNotReconciledSheet.write(row, inc(), offer.get("payOut")) 
407
        affNotReconciledSheet.write(row, inc(), offer.get("conversionStatus"))
14601 amit.gupta 408
        affNotReconciledSheet.write(row, inc(), offer.get("ip"))
14570 amit.gupta 409
 
15540 amit.gupta 410
    workbook.save(XLS_FILENAME)
14450 amit.gupta 411
 
14647 amit.gupta 412
def sendmail(email, message, title, *varargs):
14450 amit.gupta 413
    if email == "":
414
        return
415
    mailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
416
    mailServer.ehlo()
417
    mailServer.starttls()
418
    mailServer.ehlo()
419
 
420
    # Create the container (outer) email message.
421
    msg = MIMEMultipart()
422
    msg['Subject'] = title
423
    msg.preamble = title
424
    html_msg = MIMEText(message, 'html')
425
    msg.attach(html_msg)
426
 
427
    #snapdeal more to be added here
14647 amit.gupta 428
    for fileName in varargs:
429
        snapdeal = MIMEBase('application', 'vnd.ms-excel')
430
        snapdeal.set_payload(file(fileName).read())
431
        encoders.encode_base64(snapdeal)
432
        snapdeal.add_header('Content-Disposition', 'attachment;filename=' + fileName)
433
        msg.attach(snapdeal)
14450 amit.gupta 434
 
435
 
436
    email.append('amit.gupta@shop2020.in')
437
    MAILTO = email 
438
    mailServer.login(SENDER, PASSWORD)
439
    mailServer.sendmail(PASSWORD, MAILTO, msg.as_string())
440
 
14508 amit.gupta 441
def setHeaders(worksheet, worksheet1, worksheet2, affNotReconciledSheet):
14505 amit.gupta 442
    boldStyle = xlwt.XFStyle()
443
    f = xlwt.Font()
444
    f.bold = True
445
    boldStyle.font = f
14501 amit.gupta 446
    row = 0
447
    global i
448
    i=-1    
449
    worksheet.write(row, inc(), 'Order Id', boldStyle)
450
    worksheet.write(row, inc(), 'User Id', boldStyle)
14850 amit.gupta 451
    worksheet.write(row, inc(), 'Username', boldStyle)
14601 amit.gupta 452
    worksheet.write(row, inc(), 'Version Code', boldStyle)
14771 amit.gupta 453
    worksheet.write(row, inc(), 'Device', boldStyle)
14501 amit.gupta 454
    worksheet.write(row, inc(), 'Merchant Order Id', boldStyle)
455
    worksheet.write(row, inc(), 'SubtagId', boldStyle)
456
    worksheet.write(row, inc(), 'Sale Date', boldStyle)
14988 amit.gupta 457
    worksheet.write(row, inc(), 'Dtr Sale Date', boldStyle)
14501 amit.gupta 458
    worksheet.write(row, inc(), 'Sale Amount', boldStyle)
459
    worksheet.write(row, inc(), 'Aff Sale Date', boldStyle)
460
    worksheet.write(row, inc(), 'Aff Sale Amt', boldStyle)
461
    worksheet.write(row, inc(), 'Aff PayOut', boldStyle)
14601 amit.gupta 462
    worksheet.write(row, inc(), 'IP', boldStyle)
14501 amit.gupta 463
    worksheet.write(row, inc(), 'Product Title', boldStyle)
464
    worksheet.write(row, inc(), 'Price', boldStyle)
465
    worksheet.write(row, inc(), 'Quantity', boldStyle)
466
    worksheet.write(row, inc(), 'Status', boldStyle)
467
    worksheet.write(row, inc(), 'Cashback Status', boldStyle)
468
    worksheet.write(row, inc(), 'CashBack', boldStyle)
469
 
14505 amit.gupta 470
    i = -1
14501 amit.gupta 471
    worksheet1.write(row, inc(), 'Order Id', boldStyle)
472
    worksheet1.write(row, inc(), 'User Id', boldStyle)
14850 amit.gupta 473
    worksheet1.write(row, inc(), 'Username', boldStyle)
14601 amit.gupta 474
    worksheet1.write(row, inc(), 'Version Code', boldStyle)
14771 amit.gupta 475
    worksheet1.write(row, inc(), 'Device', boldStyle)
14501 amit.gupta 476
    worksheet1.write(row, inc(), 'Merchant Order Id', boldStyle)
477
    worksheet1.write(row, inc(), 'SubtagId', boldStyle)
478
    worksheet1.write(row, inc(), 'Sale Date', boldStyle)
14988 amit.gupta 479
    worksheet1.write(row, inc(), 'Dtr Sale Date', boldStyle)
14501 amit.gupta 480
    worksheet1.write(row, inc(), 'Sale Amount', boldStyle)
481
    worksheet1.write(row, inc(), 'Aff Sale Date', boldStyle)
482
    worksheet1.write(row, inc(), 'Aff Sale Amt', boldStyle)
483
    worksheet1.write(row, inc(), 'Aff PayOut', boldStyle)
14601 amit.gupta 484
    worksheet1.write(row, inc(), 'IP', boldStyle)
14501 amit.gupta 485
    worksheet1.write(row, inc(), 'Product Title', boldStyle)
486
    worksheet1.write(row, inc(), 'Price', boldStyle)
487
    worksheet1.write(row, inc(), 'Quantity', boldStyle)
488
    worksheet1.write(row, inc(), 'Status', boldStyle)
489
    worksheet1.write(row, inc(), 'Cashback Status', boldStyle)
490
    worksheet1.write(row, inc(), 'CashBack', boldStyle) 
14508 amit.gupta 491
 
492
    i = -1
493
    worksheet2.write(row, inc(), 'Order Id', boldStyle)
494
    worksheet2.write(row, inc(), 'User Id', boldStyle)
14850 amit.gupta 495
    worksheet2.write(row, inc(), 'Username', boldStyle)
14605 amit.gupta 496
    worksheet2.write(row, inc(), 'Version Code', boldStyle)
14771 amit.gupta 497
    worksheet2.write(row, inc(), 'Device', boldStyle)
14508 amit.gupta 498
    worksheet2.write(row, inc(), 'Merchant Order Id', boldStyle)
499
    worksheet2.write(row, inc(), 'SubtagId', boldStyle)
500
    worksheet2.write(row, inc(), 'Sale Date', boldStyle)
14988 amit.gupta 501
    worksheet2.write(row, inc(), 'Dtr Sale Date', boldStyle)
14508 amit.gupta 502
    worksheet2.write(row, inc(), 'Sale Amount', boldStyle)
503
    worksheet2.write(row, inc(), 'Product Title', boldStyle)
504
    worksheet2.write(row, inc(), 'Price', boldStyle)
505
    worksheet2.write(row, inc(), 'Quantity', boldStyle)
506
    worksheet2.write(row, inc(), 'Status', boldStyle)
507
    worksheet2.write(row, inc(), 'Cashback Status', boldStyle)
508
    worksheet2.write(row, inc(), 'CashBack', boldStyle)
14450 amit.gupta 509
 
14508 amit.gupta 510
    i =-1
511
    affNotReconciledSheet.write(row, inc(), 'AdId', boldStyle) 
512
    affNotReconciledSheet.write(row, inc(), 'subTagId', boldStyle) 
513
    affNotReconciledSheet.write(row, inc(), 'Sale Date', boldStyle) 
514
    affNotReconciledSheet.write(row, inc(), 'Sale Amount', boldStyle) 
515
    affNotReconciledSheet.write(row, inc(), 'Pay Out', boldStyle) 
516
    affNotReconciledSheet.write(row, inc(), 'Status', boldStyle) 
14601 amit.gupta 517
    affNotReconciledSheet.write(row, inc(), 'IP', boldStyle)
14524 amit.gupta 518
 
519
def getUserAmountReconciled():
520
    pass
521
 
14613 amit.gupta 522
def getUserOrders():
523
    global i
524
    rb = open_workbook(XLS_FILENAME,formatting_info=True)
525
    wb = copy(rb)
526
    worksheet = wb.add_sheet("All Users")
527
    worksheet1 = wb.add_sheet("Suspected Users")
14632 amit.gupta 528
    workbook = xlwt.Workbook()
529
    sh1 = workbook.add_sheet("All Orders")
15423 amit.gupta 530
    sh2 = workbook.add_sheet("Flipkart Orders")
14632 amit.gupta 531
 
14613 amit.gupta 532
    db=client.Dtr
533
    results = Mysql.fetchResult('''
14771 amit.gupta 534
        select ow.*, u.username, crm1.order_count, u.referrer from order_view ow left join users u on u.id = ow.user_id left join (select user_id, count(*) as order_count from order_view where status = 'ORDER_CREATED'  group by user_id) as crm1 on ow.user_id = crm1.user_id where lower(u.referrer) not like 'emp%' or u.referrer is null; 
14613 amit.gupta 535
        ''',)
536
    row = 0
537
    i=-1
538
    worksheet.write(row, inc(), 'User Id', boldStyle)
539
    worksheet1.write(row, i, 'User Id', boldStyle)
540
    worksheet.write(row, inc(), 'User name', boldStyle)
541
    worksheet1.write(row, i, 'User name', boldStyle)
542
    worksheet.write(row, inc(), 'Order Id', boldStyle)
543
    worksheet1.write(row, i, 'Order Id', boldStyle)
544
    worksheet.write(row, inc(), 'Created On', boldStyle)
545
    worksheet1.write(row, i, 'Created On', boldStyle)
546
    worksheet.write(row, inc(), 'Store Id', boldStyle)
547
    worksheet1.write(row, i, 'Store Id', boldStyle)
548
    worksheet.write(row, inc(), 'Merchant Order Id', boldStyle)
549
    worksheet1.write(row, i, 'Merchant Order Id', boldStyle)
14616 amit.gupta 550
    worksheet.write(row, inc(), 'Product title', boldStyle)
551
    worksheet1.write(row, i, 'Product title', boldStyle)
14613 amit.gupta 552
    worksheet.write(row, inc(), 'Amount Paid', boldStyle)
553
    worksheet1.write(row, i, 'Amount Paid', boldStyle)
554
    worksheet.write(row, inc(), 'Cashback', boldStyle)
555
    worksheet1.write(row, i, 'Cashback', boldStyle)
556
    worksheet.write(row, inc(), 'Order Status', boldStyle)
557
    worksheet1.write(row, i, 'Order Status', boldStyle)
558
    worksheet.write(row, inc(), 'Detailed Status', boldStyle)
559
    worksheet1.write(row, i, 'Detailed Status', boldStyle)
560
    worksheet.write(row, inc(), 'Cashback Status', boldStyle)
561
    worksheet1.write(row, i, 'Cashback Status', boldStyle)
562
    worksheet.write(row, inc(), 'Reconciled', boldStyle)
563
    worksheet1.write(row, i, 'Reconciled', boldStyle)
564
    worksheet.write(row, inc(), 'IP', boldStyle)
565
    worksheet1.write(row, i, 'IP', boldStyle)
14693 amit.gupta 566
    i=-1
567
    sh1.write(row, inc(), 'User Id', boldStyle)
568
    sh1.write(row, inc(), 'User name', boldStyle)
569
    sh1.write(row, inc(), 'Order Id', boldStyle)
570
    sh1.write(row, inc(), 'Created On', boldStyle)
571
    sh1.write(row, inc(), 'Store Id', boldStyle)
572
    sh1.write(row, inc(), 'Merchant Order Id', boldStyle)
14771 amit.gupta 573
    sh1.write(row, inc(), 'Status', boldStyle)
14693 amit.gupta 574
    sh1.write(row, inc(), 'Product title', boldStyle)
575
    sh1.write(row, inc(), 'Referrer', boldStyle)
576
    sh1.write(row, inc(), 'Amount Paid', boldStyle)
14771 amit.gupta 577
    sh1.write(row, inc(), 'Catalog Id', boldStyle)
14693 amit.gupta 578
    sh1.write(row, inc(), 'Brand', boldStyle)
579
    sh1.write(row, inc(), 'Model', boldStyle)
580
    sh1.write(row, inc(), 'Category', boldStyle)
15423 amit.gupta 581
    i =-1
582
    sh2.write(row, inc(), 'User Id', boldStyle)
583
    sh2.write(row, inc(), 'User name', boldStyle)
584
    sh2.write(row, inc(), 'Created On', boldStyle)
585
    sh2.write(row, inc(), 'Store', boldStyle)
586
    sh2.write(row, inc(), 'Status', boldStyle)
587
    sh2.write(row, inc(), 'Product title', boldStyle)
588
    sh2.write(row, inc(), 'Price', boldStyle)
589
    sh2.write(row, inc(), 'Quantity', boldStyle)
590
    sh2.write(row, inc(), 'Catalog Id', boldStyle)
591
    sh2.write(row, inc(), 'Brand', boldStyle)
592
    sh2.write(row, inc(), 'Model', boldStyle)
593
    sh2.write(row, inc(), 'Category', boldStyle)
14613 amit.gupta 594
 
595
    row=0
596
    row2=0
14632 amit.gupta 597
    row3=0
598
    db1 = client.Catalog
14613 amit.gupta 599
    for result in results:
600
        morder = db.merchantOrder.find_one({"orderId":result[0]})
601
        if morder is not None:
602
            subOrders = morder.get("subOrders")
603
            if subOrders is not None:
604
                for  subOrder in subOrders:
14632 amit.gupta 605
                    row3+=1
606
                    i=-1
14699 amit.gupta 607
                    sh1.write(row3, inc(), result[1])
608
                    sh1.write(row3, inc(), result[-3])
14632 amit.gupta 609
                    sh1.write(row3, inc(), result[0])
610
                    sh1.write(row3, inc(), result[-4], datetime_format)
611
                    sh1.write(row3, inc(), sourceMap.get(result[2]))
612
                    sh1.write(row3, inc(), morder.get("merchantOrderId"))
14771 amit.gupta 613
                    sh1.write(row3, inc(), subOrder.get("status"))
14632 amit.gupta 614
                    sh1.write(row3, inc(), subOrder.get("productTitle"))
14693 amit.gupta 615
                    sh1.write(row3, inc(), result[-1])
14632 amit.gupta 616
                    inc()
617
                    if int(subOrder.get("quantity")) > 0:
618
                        sh1.write(row3, i, int(subOrder.get("amountPaid"))/int(subOrder.get("quantity")))
14647 amit.gupta 619
                    skuData = getSkuData(morder.get("storeId"), subOrder.get("productCode"))
620
                    if morder.get("storeId") in (1,2,4,5):
621
                        skuData = db1.MasterData.find_one({'identifier':subOrder.get("productCode").strip(), 'source_id':morder.get("storeId")})
622
                    elif morder.get("storeId") == 3:
623
                        skuData = db1.MasterData.find_one({'secondaryIdentifier':subOrder.get("productCode").strip(), 'source_id':morder.get("storeId")})
14634 amit.gupta 624
                    if skuData is not None:
14771 amit.gupta 625
                        sh1.write(row3, inc(), skuData.get("skuBundleId"))
14634 amit.gupta 626
                        sh1.write(row3, inc(), skuData.get("brand"))
627
                        sh1.write(row3, inc(), skuData.get("model_name"))
628
                        sh1.write(row3, inc(), skuData.get("category"))
14881 amit.gupta 629
                    #removed filter as requested by Rajneesh
630
                    #if subOrder.get("cashBackStatus") == Store.CB_APPROVED or subOrder.get("cashBackStatus") == Store.CB_PENDING:
631
                    row +=1
632
                    i=-1
633
                    worksheet.write(row, inc(), result[0])
634
                    worksheet.write(row, inc(), result[-3])
635
                    worksheet.write(row, inc(), result[1])
636
                    worksheet.write(row, inc(), result[-4], datetime_format)
637
                    worksheet.write(row, inc(), result[2])
638
                    worksheet.write(row, inc(), morder.get("merchantOrderId"))
639
                    worksheet.write(row, inc(), subOrder.get("productTitle"))
640
                    worksheet.write(row, inc(), subOrder.get("amountPaid"))
641
                    worksheet.write(row, inc(), subOrder.get("cashBackAmount"))
642
                    worksheet.write(row, inc(), subOrder.get("status"))
643
                    worksheet.write(row, inc(), subOrder.get("detailedStatus"))
644
                    worksheet.write(row, inc(), subOrder.get("cashBackStatus"))
645
                    worksheet.write(row, inc(), False if morder.get("reconciled") is None else True)
646
                    if morder.get("reconciled") and morder.get("storeId")==3:
647
                        try:
648
                            worksheet.write(row, inc(), db.snapdealOrderAffiliateInfo.find_one({"adId":morder.get("adId"), "reconciled":True}).get("ip"))
649
                        except:
650
                            print "Could not find", morder.get("adId"), "that is reconcired for order", morder.get("orderId")
651
                    if result[-2] >= 10:
652
                        row2 +=1 
14613 amit.gupta 653
                        i=-1
14881 amit.gupta 654
                        worksheet1.write(row2, inc(), result[0])
655
                        worksheet1.write(row2, inc(), result[-3])
656
                        worksheet1.write(row2, inc(), result[1])
657
                        worksheet1.write(row2, inc(), result[-4], datetime_format)
658
                        worksheet1.write(row2, inc(), result[2])
659
                        worksheet1.write(row2, inc(), morder.get("merchantOrderId"))
660
                        worksheet1.write(row2, inc(), subOrder.get("productTitle"))
661
                        worksheet1.write(row2, inc(), subOrder.get("amountPaid"))
662
                        worksheet1.write(row2, inc(), subOrder.get("cashBackAmount"))
663
                        worksheet1.write(row2, inc(), subOrder.get("status"))
664
                        worksheet1.write(row2, inc(), subOrder.get("detailedStatus"))
665
                        worksheet1.write(row2, inc(), subOrder.get("cashBackStatus"))
666
                        worksheet1.write(row2, inc(), False if morder.get("reconciled") is None else True)
14613 amit.gupta 667
                        if morder.get("reconciled") and morder.get("storeId")==3:
668
                            try:
14881 amit.gupta 669
                                worksheet1.write(row2, inc(), db.snapdealOrderAffiliateInfo.find_one({"adId":morder.get("adId"), "reconciled":True}).get("ip"))
14613 amit.gupta 670
                            except:
671
                                print "Could not find", morder.get("adId"), "that is reconcired for order", morder.get("orderId")
15423 amit.gupta 672
 
15542 amit.gupta 673
    flipkartOrders = session.query(FlipkartOrders).order_by(FlipkartOrders.created.desc()).all()
15540 amit.gupta 674
    flipkartOrders.reverse()
15423 amit.gupta 675
    row3=0
15430 amit.gupta 676
    #try:
15540 amit.gupta 677
    for order in flipkartOrders:
15423 amit.gupta 678
        row3 += 1
679
        i=-1
15540 amit.gupta 680
        sh2.write(row3, inc(), order.user_id)
681
        sh2.write(row3, inc(), order.email)
682
        sh2.write(row3, inc(), order.created, datetime_format)
15423 amit.gupta 683
        sh2.write(row3, inc(), "Flipkart")
15540 amit.gupta 684
        sh2.write(row3, inc(), order.status)
685
        sh2.write(row3, inc(), order.title)
686
        sh2.write(row3, inc(), order.price)
687
        sh2.write(row3, inc(), order.quantity)
688
        sh2.write(row3, inc(), order.catalogId)
689
        sh2.write(row3, inc(), order.brand)
690
        sh2.write(row3, inc(), order.model)
691
        sh2.write(row3, inc(), order.category)
14632 amit.gupta 692
 
14613 amit.gupta 693
    wb.save(XLS_FILENAME)
14632 amit.gupta 694
    workbook.save(XLS_O_FILENAME)
14647 amit.gupta 695
 
696
def getSkuData(storeId, identifier):
697
    if storeId in (1,2,4,5):
698
        skuData = client.Catalog.MasterData.find_one({'identifier':identifier, 'source_id':storeId})
699
    elif storeId == 3:
700
        skuData = client.Catalog.MasterData.find_one({'secondaryIdentifier':identifier, 'source_id':storeId})
701
    return skuData
702
 
14460 amit.gupta 703
def inc():
704
    global i
705
    i+=1
706
    return i
15540 amit.gupta 707
 
708
def migrateFlipkartOrders():
709
    db = client.Dtr
710
    info = reversed(list(db.flipkartOrderAffiliateInfo.find()))
711
    #try:
712
    for order in info:
713
        userId = None
714
        subTagId = None
715
        email = None
716
        subTagId = order.get("subTagId")
717
        if subTagId:
718
            click = session.query(Clicks).filter_by(tag = subTagId).first()
719
            if click is not None:
720
                userId= click.user_id 
721
                user = session.query(Users.email).filter_by(id = userId).first()
722
                if user is not None:
723
                    email = user.email
724
 
725
        flipkartOrder = FlipkartOrders()
726
        flipkartOrder.user_id = userId
727
        flipkartOrder.identifier = order.get("identifier")
728
        flipkartOrder.email = email
729
        flipkartOrder.subtagId = order.get("subTagId")
730
        flipkartOrder.created = datetime.strptime(order.get("saleDate"), "%Y-%m-%d")
731
        flipkartOrder.status = order.get("conversionStatus")
732
        flipkartOrder.title = order.get("productTitle")
733
        flipkartOrder.price = order.get("price")
734
        flipkartOrder.quantity = order.get("quantity")
735
        flipkartOrder.productCode = order.get("productCode")
736
        skuData = getSkuData(2, order.get("productCode"))
737
        if skuData is not None:
738
            flipkartOrder.catalogId = skuData.get("skuBundleId")
739
            flipkartOrder.brand = skuData.get("brand")
740
            flipkartOrder.model = skuData.get("model_name")
741
            flipkartOrder.category =categoryMap.get(skuData.get("category_id"))
742
            flipkartOrder.title =skuData.get("source_product_name")
743
 
744
    session.commit()
14632 amit.gupta 745
def addHeaders(sheet):
746
    global i
747
    i = 0
748
    sheet.write(0, inc(), )
14450 amit.gupta 749
def main():
14647 amit.gupta 750
 
14450 amit.gupta 751
    generateSnapDealReco()
14647 amit.gupta 752
    generateFlipkartReco()
14650 amit.gupta 753
    generateAmazonReco(XLS_A_FILENAME)
14613 amit.gupta 754
    getUserOrders()
15541 amit.gupta 755
    sendmail(["amit.gupta@shop2020.in","rajneesh.arora@saholic.com"], "", "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME)
756
    sendmail(["amit.gupta@shop2020.in", "rajneesh.arora@saholic.com", "chaitnaya.vats@saholic.com", "manoj.kumar@saholic.com"], "", "All DTR Orders", XLS_O_FILENAME)
14450 amit.gupta 757
 
758
if __name__ == '__main__':
15440 amit.gupta 759
    #info = client.Dtr.flipkartOrderAffiliateInfo.find()
760
    #print info
761
    main()
14460 amit.gupta 762