| Line 234... |
Line 234... |
| 234 |
wb.save(XLS_F_FILENAME)
|
234 |
wb.save(XLS_F_FILENAME)
|
| 235 |
def generateSnapDealReco():
|
235 |
def generateSnapDealReco():
|
| 236 |
global i
|
236 |
global i
|
| 237 |
curs = getOrdersAfterDate(datetime.now() - timedelta(days=30), 3)
|
237 |
curs = getOrdersAfterDate(datetime.now() - timedelta(days=30), 3)
|
| 238 |
db = client.Dtr
|
238 |
db = client.Dtr
|
| 239 |
notReconciled = {}
|
- |
|
| 240 |
matchedList = []
|
239 |
matchedList = []
|
| - |
|
240 |
|
| 241 |
workbook = xlwt.Workbook()
|
241 |
workbook = xlwt.Workbook()
|
| 242 |
worksheet = workbook.add_sheet("Snapdeal Reconciled")
|
242 |
worksheet = workbook.add_sheet("Snapdeal Reconciled")
|
| 243 |
worksheet1 = workbook.add_sheet("Snapdeal Reconciled All")
|
- |
|
| 244 |
worksheet2 = workbook.add_sheet("Snapdeal Orders not reconciled")
|
243 |
worksheet2 = workbook.add_sheet("Snapdeal Orders not reconciled")
|
| 245 |
worksheet3 = workbook.add_sheet("DateWise Sale Summary")
|
- |
|
| 246 |
affNotReconciledSheet = workbook.add_sheet("Snapdeal Aff not reconciled")
|
244 |
affNotReconciledSheet = workbook.add_sheet("Snapdeal Aff not reconciled")
|
| - |
|
245 |
worksheet3 = workbook.add_sheet("DateWise Sale Summary")
|
| - |
|
246 |
worksheet1 = workbook.add_sheet("Snapdeal Reconciled All")
|
| 247 |
setHeaders(worksheet, worksheet1, worksheet2, affNotReconciledSheet, worksheet3)
|
247 |
setHeaders(worksheet, worksheet1, worksheet2, affNotReconciledSheet, worksheet3)
|
| 248 |
row = 0
|
248 |
row = 0
|
| 249 |
anotherrow = 0
|
- |
|
| 250 |
row5=0
|
249 |
row5=0
|
| 251 |
for row1 in curs:
|
250 |
for row1 in curs:
|
| 252 |
orderId = row1[0]
|
251 |
orderId = row1[0]
|
| 253 |
order = db.merchantOrder.find_one({"orderId":orderId})
|
252 |
order = db.merchantOrder.find_one({"orderId":orderId})
|
| 254 |
if order is None:
|
253 |
if order is None:
|
| Line 265... |
Line 264... |
| 265 |
except:
|
264 |
except:
|
| 266 |
timestamp1 = int(time.mktime(row1[-4].timetuple()))
|
265 |
timestamp1 = int(time.mktime(row1[-4].timetuple()))
|
| 267 |
formattedTimestamp = datetime.strftime(utils.fromTimeStamp(timestamp1), "%b %d, %Y, %I:%M %p")
|
266 |
formattedTimestamp = datetime.strftime(utils.fromTimeStamp(timestamp1), "%b %d, %Y, %I:%M %p")
|
| 268 |
|
267 |
|
| 269 |
affs = list(db.snapdealOrderAffiliateInfo1.find({"orderId":order["merchantOrderId"]}))
|
268 |
affs = list(db.snapdealOrderAffiliateInfo1.find({"orderId":order["merchantOrderId"]}))
|
| 270 |
anotherrow += 1
|
- |
|
| 271 |
if len(affs) > 0:
|
269 |
if len(affs) > 0:
|
| - |
|
270 |
for aff in affs:
|
| - |
|
271 |
if aff.get("missingOrder"):
|
| - |
|
272 |
aff["missingOrder"] = False
|
| - |
|
273 |
db.snapdealOrderAffiliateInfo1.save(aff)
|
| 272 |
matchedList.append(order["merchantOrderId"])
|
274 |
matchedList.append(order["merchantOrderId"])
|
| 273 |
order['reconciled'] = True
|
275 |
order['reconciled'] = True
|
| 274 |
db.merchantOrder.save(order)
|
276 |
db.merchantOrder.save(order)
|
| 275 |
row += 1
|
277 |
row += 1
|
| 276 |
i=-1
|
278 |
i=-1
|
| Line 284... |
Line 286... |
| 284 |
worksheet.write(row, inc(), order['placedOn'])
|
286 |
worksheet.write(row, inc(), order['placedOn'])
|
| 285 |
worksheet.write(row, inc(), formattedTimestamp)
|
287 |
worksheet.write(row, inc(), formattedTimestamp)
|
| 286 |
worksheet.write(row, inc(), int(order['paidAmount']))
|
288 |
worksheet.write(row, inc(), int(order['paidAmount']))
|
| 287 |
k = i
|
289 |
k = i
|
| 288 |
row -= 1
|
290 |
row -= 1
|
| 289 |
anotherrow -= 1
|
- |
|
| 290 |
for subOrder in order['subOrders']:
|
291 |
for subOrder in order['subOrders']:
|
| 291 |
i = k
|
292 |
i = k
|
| - |
|
293 |
matched=False
|
| 292 |
row += 1
|
294 |
row += 1
|
| 293 |
anotherrow += 1
|
- |
|
| 294 |
for aff in affs:
|
295 |
for aff in affs:
|
| 295 |
if subOrder['title']==aff['productCode']:
|
296 |
if subOrder['productTitle']==aff['productCode']:
|
| 296 |
worksheet.write(row, inc(), aff[0]['saleDate'])
|
297 |
worksheet.write(row, inc(), utils.fromTimeStamp(aff['saleDate']),datetime_format)
|
| 297 |
worksheet.write(row, inc(), aff[0]['saleAmount'])
|
298 |
worksheet.write(row, inc(), aff['unitPrice'])
|
| 298 |
worksheet.write(row, inc(), aff[0]['payOut'])
|
299 |
worksheet.write(row, inc(), 0 if not aff.get('payOut') else aff['payOut']/aff.get('quantity'))
|
| - |
|
300 |
matched=True
|
| - |
|
301 |
break
|
| - |
|
302 |
if not matched:
|
| - |
|
303 |
inc()
|
| - |
|
304 |
inc()
|
| - |
|
305 |
inc()
|
| 299 |
worksheet.write(row, inc(), subOrder['productTitle'])
|
306 |
worksheet.write(row, inc(), subOrder['productTitle'])
|
| 300 |
worksheet.write(row, inc(), subOrder['amountPaid'])
|
307 |
worksheet.write(row, inc(), subOrder['amountPaid'])
|
| 301 |
worksheet.write(row, inc(), subOrder['quantity'])
|
308 |
worksheet.write(row, inc(), subOrder['quantity'])
|
| 302 |
worksheet.write(row, inc(), subOrder['status'])
|
309 |
worksheet.write(row, inc(), subOrder['status'])
|
| 303 |
worksheet.write(row, inc(), subOrder['cashBackStatus'])
|
310 |
worksheet.write(row, inc(), subOrder['cashBackStatus'])
|
| 304 |
worksheet.write(row, inc(), subOrder['cashBackAmount'])
|
311 |
worksheet.write(row, inc(), subOrder['cashBackAmount'])
|
| 305 |
|
312 |
|
| 306 |
else:
|
313 |
else:
|
| 307 |
row5 += 1
|
314 |
row5 += 1
|
| 308 |
i=-1
|
315 |
i=-1
|
| 309 |
worksheet2.write(row5, inc(), order["orderId"])
|
316 |
worksheet2.write(row5, inc(), order["orderId"])
|
| Line 329... |
Line 336... |
| 329 |
worksheet2.write(row5, inc(), subOrder['cashBackAmount'])
|
336 |
worksheet2.write(row5, inc(), subOrder['cashBackAmount'])
|
| 330 |
|
337 |
|
| 331 |
last30Days = date.today() - timedelta(days=30)
|
338 |
last30Days = date.today() - timedelta(days=30)
|
| 332 |
int(time.mktime(last30Days.timetuple()))
|
339 |
int(time.mktime(last30Days.timetuple()))
|
| 333 |
row = 0
|
340 |
row = 0
|
| 334 |
for offer in db.snapdealOrderAffiliateInfo.find({"reconciled":{"$exists":False},
|
341 |
for offer in db.snapdealOrderAffiliateInfo1.find({"missingOrder":True,
|
| 335 |
"saleTime":{"$gt":int(time.mktime(last30Days.timetuple())),
|
- |
|
| 336 |
"$lt":int(time.mktime(date.today().timetuple()))}}, timeout=False ):
|
- |
|
| 337 |
subTagId = offer.get("subTagId")
|
- |
|
| 338 |
saleTime = offer.get("saleTime")
|
- |
|
| 339 |
orders = getOrdersByTag(subTagId, 3)
|
- |
|
| 340 |
for order in orders:
|
- |
|
| 341 |
if notReconciled.has_key(order[0]):
|
- |
|
| 342 |
(roww, column, paidAmount, timestamp1, oSubTagId) = notReconciled[order[0]]
|
- |
|
| 343 |
if paidAmount==int(offer.get("saleAmount")) and timestamp1 <= saleTime and timestamp1 + 120 >= saleTime:
|
- |
|
| 344 |
i = column
|
- |
|
| 345 |
worksheet1.write(roww, inc(), offer.get("saleDate"))
|
- |
|
| 346 |
worksheet1.write(roww, inc(), offer.get("saleAmount"))
|
- |
|
| 347 |
worksheet1.write(roww, inc(), offer.get("payOut"))
|
- |
|
| 348 |
del notReconciled[order[0]]
|
- |
|
| 349 |
print "found match for user", order[1]
|
- |
|
| 350 |
db.snapdealOrderAffiliateInfo.update({"adId":offer.get("adId")}, {"$set":{"reconciled":True, "orderId":order[0]}}, multi=True)
|
- |
|
| 351 |
db.merchantOrder.update({"orderId":order[0]}, {"$set":{"reconciled":True, "adId":offer.get("adId")}}, multi=True)
|
- |
|
| 352 |
break
|
- |
|
| 353 |
|
- |
|
| 354 |
|
- |
|
| 355 |
|
- |
|
| 356 |
for offer in db.snapdealOrderAffiliateInfo.find({"reconciled":{"$exists":False},
|
- |
|
| 357 |
"saleTime":{"$gt":int(time.mktime(last30Days.timetuple())),
|
342 |
"saleDate":{"$gte":int(time.mktime(last30Days.timetuple())),
|
| 358 |
"$lt":int(time.mktime(date.today().timetuple()))}} ):
|
343 |
"$lt":int(time.mktime(date.today().timetuple()))}} ):
|
| 359 |
row += 1
|
344 |
row += 1
|
| 360 |
i=-1
|
345 |
i=-1
|
| 361 |
affNotReconciledSheet.write(row, inc(), offer.get("adId"))
|
- |
|
| 362 |
affNotReconciledSheet.write(row, inc(), offer.get("subTagId"))
|
346 |
affNotReconciledSheet.write(row, inc(), offer.get("subTagId"))
|
| 363 |
affNotReconciledSheet.write(row, inc(), offer.get("saleDate"))
|
347 |
affNotReconciledSheet.write(row, inc(), offer.get("orderId"))
|
| - |
|
348 |
affNotReconciledSheet.write(row, inc(), utils.fromTimeStamp(offer.get("saleDate")), datetime_format)
|
| 364 |
affNotReconciledSheet.write(row, inc(), offer.get("saleAmount"))
|
349 |
affNotReconciledSheet.write(row, inc(), offer.get("saleAmount"))
|
| - |
|
350 |
affNotReconciledSheet.write(row, inc(), offer.get("productCode"))
|
| - |
|
351 |
affNotReconciledSheet.write(row, inc(), offer.get("quantity"))
|
| 365 |
affNotReconciledSheet.write(row, inc(), offer.get("payOut"))
|
352 |
affNotReconciledSheet.write(row, inc(), offer.get("payOut"))
|
| 366 |
affNotReconciledSheet.write(row, inc(), offer.get("conversionStatus"))
|
- |
|
| 367 |
affNotReconciledSheet.write(row, inc(), offer.get("ip"))
|
- |
|
| 368 |
|
353 |
|
| 369 |
mailBodyTemplate="""
|
354 |
mailBodyTemplate="""
|
| 370 |
<html>
|
355 |
<html>
|
| 371 |
<body>
|
356 |
<body>
|
| 372 |
<table cellspacing="0" border="1" style="text-align:right">
|
357 |
<table cellspacing="0" border="1" style="text-align:right">
|
| Line 815... |
Line 800... |
| 815 |
worksheet.write(row, inc(), 'Dtr Sale Date', boldStyle)
|
800 |
worksheet.write(row, inc(), 'Dtr Sale Date', boldStyle)
|
| 816 |
worksheet.write(row, inc(), 'Sale Amount', boldStyle)
|
801 |
worksheet.write(row, inc(), 'Sale Amount', boldStyle)
|
| 817 |
worksheet.write(row, inc(), 'Aff Sale Date', boldStyle)
|
802 |
worksheet.write(row, inc(), 'Aff Sale Date', boldStyle)
|
| 818 |
worksheet.write(row, inc(), 'Aff Sale Amt', boldStyle)
|
803 |
worksheet.write(row, inc(), 'Aff Sale Amt', boldStyle)
|
| 819 |
worksheet.write(row, inc(), 'Aff PayOut', boldStyle)
|
804 |
worksheet.write(row, inc(), 'Aff PayOut', boldStyle)
|
| 820 |
worksheet.write(row, inc(), 'IP', boldStyle)
|
- |
|
| 821 |
worksheet.write(row, inc(), 'Aff Status', boldStyle)
|
- |
|
| 822 |
worksheet.write(row, inc(), 'Product Title', boldStyle)
|
805 |
worksheet.write(row, inc(), 'Product Title', boldStyle)
|
| 823 |
worksheet.write(row, inc(), 'Price', boldStyle)
|
806 |
worksheet.write(row, inc(), 'Price', boldStyle)
|
| 824 |
worksheet.write(row, inc(), 'Quantity', boldStyle)
|
807 |
worksheet.write(row, inc(), 'Quantity', boldStyle)
|
| 825 |
worksheet.write(row, inc(), 'Status', boldStyle)
|
808 |
worksheet.write(row, inc(), 'Status', boldStyle)
|
| 826 |
worksheet.write(row, inc(), 'Cashback Status', boldStyle)
|
809 |
worksheet.write(row, inc(), 'Cashback Status', boldStyle)
|
| 827 |
worksheet.write(row, inc(), 'CashBack', boldStyle)
|
810 |
worksheet.write(row, inc(), 'CashBack', boldStyle)
|
| 828 |
|
811 |
|
| 829 |
i = -1
|
- |
|
| 830 |
worksheet1.write(row, inc(), 'Order Id', boldStyle)
|
- |
|
| 831 |
worksheet1.write(row, inc(), 'User Id', boldStyle)
|
- |
|
| 832 |
worksheet1.write(row, inc(), 'Username', boldStyle)
|
- |
|
| 833 |
worksheet1.write(row, inc(), 'Version Code', boldStyle)
|
- |
|
| 834 |
worksheet1.write(row, inc(), 'Device', boldStyle)
|
- |
|
| 835 |
worksheet1.write(row, inc(), 'Merchant Order Id', boldStyle)
|
- |
|
| 836 |
worksheet1.write(row, inc(), 'SubtagId', boldStyle)
|
- |
|
| 837 |
worksheet1.write(row, inc(), 'Sale Date', boldStyle)
|
- |
|
| 838 |
worksheet1.write(row, inc(), 'Dtr Sale Date', boldStyle)
|
- |
|
| 839 |
worksheet1.write(row, inc(), 'Sale Amount', boldStyle)
|
- |
|
| 840 |
worksheet1.write(row, inc(), 'Aff Sale Date', boldStyle)
|
- |
|
| 841 |
worksheet1.write(row, inc(), 'Aff Sale Amt', boldStyle)
|
- |
|
| 842 |
worksheet1.write(row, inc(), 'Aff PayOut', boldStyle)
|
- |
|
| 843 |
worksheet1.write(row, inc(), 'IP', boldStyle)
|
- |
|
| 844 |
worksheet1.write(row, inc(), 'Aff Status', boldStyle)
|
- |
|
| 845 |
worksheet1.write(row, inc(), 'Product Title', boldStyle)
|
- |
|
| 846 |
worksheet1.write(row, inc(), 'Price', boldStyle)
|
- |
|
| 847 |
worksheet1.write(row, inc(), 'Quantity', boldStyle)
|
- |
|
| 848 |
worksheet1.write(row, inc(), 'Status', boldStyle)
|
- |
|
| 849 |
worksheet1.write(row, inc(), 'Cashback Status', boldStyle)
|
- |
|
| 850 |
worksheet1.write(row, inc(), 'CashBack', boldStyle)
|
- |
|
| 851 |
|
812 |
|
| 852 |
i = -1
|
813 |
i = -1
|
| 853 |
worksheet2.write(row, inc(), 'Order Id', boldStyle)
|
814 |
worksheet2.write(row, inc(), 'Order Id', boldStyle)
|
| 854 |
worksheet2.write(row, inc(), 'User Id', boldStyle)
|
815 |
worksheet2.write(row, inc(), 'User Id', boldStyle)
|
| 855 |
worksheet2.write(row, inc(), 'Username', boldStyle)
|
816 |
worksheet2.write(row, inc(), 'Username', boldStyle)
|
| Line 866... |
Line 827... |
| 866 |
worksheet2.write(row, inc(), 'Status', boldStyle)
|
827 |
worksheet2.write(row, inc(), 'Status', boldStyle)
|
| 867 |
worksheet2.write(row, inc(), 'Cashback Status', boldStyle)
|
828 |
worksheet2.write(row, inc(), 'Cashback Status', boldStyle)
|
| 868 |
worksheet2.write(row, inc(), 'CashBack', boldStyle)
|
829 |
worksheet2.write(row, inc(), 'CashBack', boldStyle)
|
| 869 |
|
830 |
|
| 870 |
i =-1
|
831 |
i =-1
|
| 871 |
affNotReconciledSheet.write(row, inc(), 'AdId', boldStyle)
|
832 |
affNotReconciledSheet.write(row, inc(), 'Sub Tag Id', boldStyle)
|
| 872 |
affNotReconciledSheet.write(row, inc(), 'subTagId', boldStyle)
|
833 |
affNotReconciledSheet.write(row, inc(), 'Order Id', boldStyle)
|
| 873 |
affNotReconciledSheet.write(row, inc(), 'Sale Date', boldStyle)
|
834 |
affNotReconciledSheet.write(row, inc(), 'Sale Date', boldStyle)
|
| 874 |
affNotReconciledSheet.write(row, inc(), 'Sale Amount', boldStyle)
|
835 |
affNotReconciledSheet.write(row, inc(), 'Sale Amount', boldStyle)
|
| - |
|
836 |
affNotReconciledSheet.write(row, inc(), 'Product', boldStyle)
|
| - |
|
837 |
affNotReconciledSheet.write(row, inc(), 'Quantity', boldStyle)
|
| 875 |
affNotReconciledSheet.write(row, inc(), 'Pay Out', boldStyle)
|
838 |
affNotReconciledSheet.write(row, inc(), 'Pay Out', boldStyle)
|
| 876 |
affNotReconciledSheet.write(row, inc(), 'Status', boldStyle)
|
- |
|
| 877 |
affNotReconciledSheet.write(row, inc(), 'IP', boldStyle)
|
- |
|
| 878 |
|
839 |
|
| 879 |
if worksheet3:
|
840 |
if worksheet3:
|
| 880 |
i =-1
|
841 |
i =-1
|
| 881 |
worksheet3.write(row, inc(), 'Date', boldStyle)
|
842 |
worksheet3.write(row, inc(), 'Date', boldStyle)
|
| 882 |
worksheet3.write(row, inc(), 'Sale Amount', boldStyle)
|
843 |
worksheet3.write(row, inc(), 'Sale Amount', boldStyle)
|
| Line 1072... |
Line 1033... |
| 1072 |
global i
|
1033 |
global i
|
| 1073 |
i = 0
|
1034 |
i = 0
|
| 1074 |
sheet.write(0, inc(), )
|
1035 |
sheet.write(0, inc(), )
|
| 1075 |
def main():
|
1036 |
def main():
|
| 1076 |
message = generateSnapDealReco()
|
1037 |
message = generateSnapDealReco()
|
| 1077 |
generateFlipkartReco()
|
1038 |
#generateFlipkartReco()
|
| 1078 |
generateShopcluesReco()
|
1039 |
#generateShopcluesReco()
|
| 1079 |
generateAmazonReco(XLS_A_FILENAME)
|
1040 |
#generateAmazonReco(XLS_A_FILENAME)
|
| 1080 |
message1 = getdata.summaryByBrandAndStore()
|
1041 |
#message1 = getdata.summaryByBrandAndStore()
|
| 1081 |
getUserOrders()
|
1042 |
#getUserOrders()
|
| 1082 |
#getdata.sendmail(["naman.kumar@shop2020.in"], message1, "Summary by brand and store")
|
1043 |
sendmail(["amit.gupta@shop2020.in"], message, "Affiliate Reco", XLS_FILENAME)
|
| 1083 |
#sendmail(["naman.kumar@shop2020.in"], message, "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME, XLS_SC_FILENAME)
|
- |
|
| 1084 |
#sendmail(["naman.kumar@shop2020.in"], message1, "All DTR Orders", XLS_O_FILENAME)
|
1044 |
#sendmail(["naman.kumar@shop2020.in"], message1, "All DTR Orders", XLS_O_FILENAME)
|
| 1085 |
sendmail(["amit.gupta@shop2020.in", "rajneesh.arora@saholic.com", "chaitnaya.vats@saholic.com", "manoj.kumar@saholic.com", "manish.sharma@shop2020.in"], message1, "All DTR Orders", XLS_O_FILENAME)
|
1045 |
#sendmail(["amit.gupta@shop2020.in", "rajneesh.arora@saholic.com", "chaitnaya.vats@saholic.com", "manoj.kumar@saholic.com", "manish.sharma@shop2020.in"], message1, "All DTR Orders", XLS_O_FILENAME)
|
| 1086 |
sendmail(["amit.gupta@shop2020.in","rajneesh.arora@saholic.com","manish.sharma@shop2020.in"], message, "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME, XLS_SC_FILENAME)
|
1046 |
#sendmail(["amit.gupta@shop2020.in","rajneesh.arora@saholic.com","manish.sharma@shop2020.in"], message, "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME, XLS_SC_FILENAME)
|
| 1087 |
#sendmail(["amit.gupta@shop2020.in"], "", "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME, XLS_SC_FILENAME)
|
1047 |
#sendmail(["amit.gupta@shop2020.in"], "", "Affiliate Reco", XLS_FILENAME, XLS_F_FILENAME, XLS_A_FILENAME, XLS_SC_FILENAME)
|
| 1088 |
|
1048 |
|
| 1089 |
def main3():
|
1049 |
def main3():
|
| 1090 |
db = client.Dtr
|
1050 |
db = client.Dtr
|
| 1091 |
#main()
|
1051 |
#main()
|
| Line 1164... |
Line 1124... |
| 1164 |
for key,valmap in datemap.iteritems():
|
1124 |
for key,valmap in datemap.iteritems():
|
| 1165 |
valmap['_id'] = key
|
1125 |
valmap['_id'] = key
|
| 1166 |
db.flSaleSnapshot.save(valmap)
|
1126 |
db.flSaleSnapshot.save(valmap)
|
| 1167 |
|
1127 |
|
| 1168 |
if __name__ == '__main__':
|
1128 |
if __name__ == '__main__':
|
| 1169 |
getdata.addToAllOrders(date.today()-timedelta(days=30))
|
1129 |
#getdata.addToAllOrders(date.today()-timedelta(days=30))
|
| 1170 |
main2()
|
1130 |
#main2()
|
| 1171 |
main()
|
1131 |
main()
|