| Line 396... |
Line 396... |
| 396 |
else:
|
396 |
else:
|
| 397 |
return {}
|
397 |
return {}
|
| 398 |
|
398 |
|
| 399 |
|
399 |
|
| 400 |
|
400 |
|
| 401 |
def recomputePoints(item, deal):
|
401 |
def recomputePoints(deal):
|
| 402 |
try:
|
402 |
try:
|
| 403 |
nlcPoints = getNlcPoints(item, deal['minNlc'], deal['maxNlc'], deal['available_price'])
|
403 |
nlcPoints = getNlcPoints(deal)
|
| 404 |
except:
|
404 |
except:
|
| 405 |
print traceback.print_exc()
|
405 |
traceback.print_exc()
|
| 406 |
nlcPoints = deal['nlcPoints']
|
406 |
nlcPoints = deal['nlcPoints']
|
| - |
|
407 |
|
| - |
|
408 |
bundleDealPoints = list(get_mongo_connection().Catalog.DealPoints.find({'skuBundleId':deal['skuBundleId'],'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())}}))
|
| - |
|
409 |
if len(bundleDealPoints) > 0:
|
| 407 |
if item['manualDealThresholdPrice'] >= deal['available_price']:
|
410 |
manualDealThresholdPrice = bundleDealPoints[0]['dealThresholdPrice']
|
| 408 |
dealPoints = item['dealPoints']
|
411 |
dealPoints = bundleDealPoints[0]['dealPoints']
|
| 409 |
else:
|
412 |
else:
|
| 410 |
dealPoints = 0
|
413 |
dealPoints = 0
|
| - |
|
414 |
manualDealThresholdPrice = None
|
| - |
|
415 |
|
| - |
|
416 |
if dealPoints != deal['dealPoints'] or manualDealThresholdPrice != deal['manualDealThresholdPrice'] or nlcPoints != deal['nlcPoints']:
|
| 411 |
get_mongo_connection().Catalog.Deals.update({'_id':deal['_id']},{"$set":{'totalPoints':deal['totalPoints'] - deal['nlcPoints'] + nlcPoints - deal['dealPoints'] +dealPoints , 'nlcPoints': nlcPoints, 'dealPoints': dealPoints, 'manualDealThresholdPrice': item['manualDealThresholdPrice']}})
|
417 |
get_mongo_connection().Catalog.Deals.update({'_id':deal['_id']},{"$set":{'totalPoints':deal['totalPoints'] - deal['nlcPoints'] + nlcPoints - deal['dealPoints'] +dealPoints , 'nlcPoints': nlcPoints, 'dealPoints': dealPoints, 'manualDealThresholdPrice': manualDealThresholdPrice}})
|
| 412 |
|
418 |
|
| 413 |
|
419 |
|
| 414 |
def populateNegativeDeals():
|
420 |
def populateNegativeDeals():
|
| 415 |
negativeDeals = get_mongo_connection().Catalog.NegativeDeals.find().distinct('sku')
|
421 |
negativeDeals = get_mongo_connection().Catalog.NegativeDeals.find().distinct('sku')
|
| 416 |
mc.set("negative_deals", negativeDeals, 600)
|
422 |
mc.set("negative_deals", negativeDeals, 600)
|
| Line 428... |
Line 434... |
| 428 |
toUpdate = []
|
434 |
toUpdate = []
|
| 429 |
prepaidBestPrice = float("inf")
|
435 |
prepaidBestPrice = float("inf")
|
| 430 |
prepaidBestOne = None
|
436 |
prepaidBestOne = None
|
| 431 |
prepaidBestSellerPoints = 0
|
437 |
prepaidBestSellerPoints = 0
|
| 432 |
for similarItem in similarItems:
|
438 |
for similarItem in similarItems:
|
| 433 |
if similarItem['_id'] == item['_id']:
|
439 |
try:
|
| 434 |
recomputePoints(item, similarItem)
|
440 |
recomputePoints(similarItem)
|
| - |
|
441 |
except:
|
| - |
|
442 |
traceback.print_exc()
|
| 435 |
if similarItem['codAvailable'] ==1:
|
443 |
if similarItem['codAvailable'] ==1:
|
| 436 |
if mc.get("negative_deals") is None:
|
444 |
if mc.get("negative_deals") is None:
|
| 437 |
populateNegativeDeals()
|
445 |
populateNegativeDeals()
|
| 438 |
if similarItem['in_stock'] == 0 or similarItem['_id'] in mc.get("negative_deals"):
|
446 |
if similarItem['in_stock'] == 0 or similarItem['_id'] in mc.get("negative_deals"):
|
| 439 |
get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0, 'prepaidDeal':0 }})
|
447 |
get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0, 'prepaidDeal':0 }})
|
| Line 496... |
Line 504... |
| 496 |
itemIds = list(get_mongo_connection().Catalog.MasterData.find({'skuBundleId':skuBundleId,'source_id' : source_id}))
|
504 |
itemIds = list(get_mongo_connection().Catalog.MasterData.find({'skuBundleId':skuBundleId,'source_id' : source_id}))
|
| 497 |
item = None
|
505 |
item = None
|
| 498 |
for item in itemIds:
|
506 |
for item in itemIds:
|
| 499 |
item['dealFlag'] = 0
|
507 |
item['dealFlag'] = 0
|
| 500 |
item['dealType'] = 0
|
508 |
item['dealType'] = 0
|
| 501 |
item['dealPoints'] = 0
|
- |
|
| 502 |
item['manualDealThresholdPrice'] = None
|
- |
|
| 503 |
if item['source_id'] ==5 and item['rank'] == 0:
|
509 |
if item['source_id'] ==5 and item['rank'] == 0:
|
| 504 |
continue
|
510 |
continue
|
| 505 |
if item['source_id'] ==3:
|
511 |
if item['source_id'] ==3:
|
| 506 |
item['marketPlaceUrl'] = item['marketPlaceUrl']+'?supc='+item.get('identifier')
|
512 |
item['marketPlaceUrl'] = item['marketPlaceUrl']+'?supc='+item.get('identifier')
|
| 507 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':source_id, 'sku':item['_id']}))
|
513 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':source_id, 'sku':item['_id']}))
|
| 508 |
if len(manualDeals) > 0:
|
514 |
if len(manualDeals) > 0:
|
| 509 |
item['dealFlag'] = 1
|
515 |
item['dealFlag'] = 1
|
| 510 |
item['dealType'] =manualDeals[0]['dealType']
|
516 |
item['dealType'] =manualDeals[0]['dealType']
|
| 511 |
item['dealPoints'] = manualDeals[0]['dealPoints']
|
- |
|
| 512 |
item['manualDealThresholdPrice'] = manualDeals[0]['dealThresholdPrice']
|
- |
|
| 513 |
info = returnLatestPrice(item, source_id)
|
517 |
info = returnLatestPrice(item, source_id)
|
| 514 |
print info
|
518 |
print info
|
| 515 |
try:
|
519 |
try:
|
| 516 |
cashBack = getCashBack(item['_id'], item['source_id'], item['category_id'], mc, 'localhost')
|
520 |
cashBack = getCashBack(item['_id'], item['source_id'], item['category_id'], mc, 'localhost')
|
| 517 |
print "CashBack is ",cashBack
|
521 |
print "CashBack is ",cashBack
|
| Line 544... |
Line 548... |
| 544 |
|
548 |
|
| 545 |
def getLatestPriceById(id):
|
549 |
def getLatestPriceById(id):
|
| 546 |
item = list(get_mongo_connection().Catalog.MasterData.find({'_id':id}))
|
550 |
item = list(get_mongo_connection().Catalog.MasterData.find({'_id':id}))
|
| 547 |
item[0]['dealFlag'] = 0
|
551 |
item[0]['dealFlag'] = 0
|
| 548 |
item[0]['dealType'] = 0
|
552 |
item[0]['dealType'] = 0
|
| 549 |
item[0]['dealPoints'] = 0
|
- |
|
| 550 |
item[0]['manualDealThresholdPrice'] = None
|
- |
|
| 551 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item[0]['source_id'], 'sku':item[0]['_id']}))
|
553 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item[0]['source_id'], 'sku':item[0]['_id']}))
|
| 552 |
if len(manualDeals) > 0:
|
554 |
if len(manualDeals) > 0:
|
| 553 |
item[0]['dealFlag'] = 1
|
555 |
item[0]['dealFlag'] = 1
|
| 554 |
item[0]['dealType'] =manualDeals[0]['dealType']
|
556 |
item[0]['dealType'] =manualDeals[0]['dealType']
|
| 555 |
item[0]['dealPoints'] = manualDeals[0]['dealPoints']
|
- |
|
| 556 |
item[0]['manualDealThresholdPrice'] = manualDeals[0]['dealThresholdPrice']
|
- |
|
| 557 |
|
557 |
|
| 558 |
info = returnLatestPrice(item[0], item[0]['source_id'])
|
558 |
info = returnLatestPrice(item[0], item[0]['source_id'])
|
| 559 |
print info
|
559 |
print info
|
| 560 |
try:
|
560 |
try:
|
| 561 |
cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'], mc, 'localhost')
|
561 |
cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'], mc, 'localhost')
|
| Line 588... |
Line 588... |
| 588 |
itemIds = list(get_mongo_connection().Catalog.MasterData.find({'skuBundleId':skuBundleId,'priceUpdatedOn':{'$lte':to_java_date(datetime.now() - timedelta(minutes=2))},'source_id':{"$in":SOURCE_MAP.values()}}))
|
588 |
itemIds = list(get_mongo_connection().Catalog.MasterData.find({'skuBundleId':skuBundleId,'priceUpdatedOn':{'$lte':to_java_date(datetime.now() - timedelta(minutes=2))},'source_id':{"$in":SOURCE_MAP.values()}}))
|
| 589 |
for item in itemIds:
|
589 |
for item in itemIds:
|
| 590 |
print item['_id']
|
590 |
print item['_id']
|
| 591 |
item['dealFlag'] = 0
|
591 |
item['dealFlag'] = 0
|
| 592 |
item['dealType'] = 0
|
592 |
item['dealType'] = 0
|
| 593 |
item['dealPoints'] = 0
|
- |
|
| 594 |
item['manualDealThresholdPrice'] = None
|
- |
|
| 595 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item['source_id'], 'sku':item['_id']}))
|
593 |
manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item['source_id'], 'sku':item['_id']}))
|
| 596 |
if len(manualDeals) > 0:
|
594 |
if len(manualDeals) > 0:
|
| 597 |
item['dealFlag'] = 1
|
595 |
item['dealFlag'] = 1
|
| 598 |
item['dealType'] =manualDeals[0]['dealType']
|
596 |
item['dealType'] =manualDeals[0]['dealType']
|
| 599 |
item['dealPoints'] = manualDeals[0]['dealPoints']
|
- |
|
| 600 |
item['manualDealThresholdPrice'] = manualDeals[0]['dealThresholdPrice']
|
- |
|
| 601 |
info = returnLatestPrice(item, item['source_id'],False)
|
597 |
info = returnLatestPrice(item, item['source_id'],False)
|
| 602 |
print info
|
598 |
print info
|
| 603 |
|
599 |
|
| 604 |
def main():
|
600 |
def main():
|
| 605 |
print datetime.now()
|
601 |
print datetime.now()
|
| 606 |
print "retuned %s"%(str(getLatestPriceById(25070)))
|
602 |
print "retuned %s"%(str(getLatestPrice(1450,1)))
|
| 607 |
print datetime.now()
|
603 |
print datetime.now()
|
| 608 |
if __name__=='__main__':
|
604 |
if __name__=='__main__':
|
| 609 |
main()
|
605 |
main()
|
| 610 |
|
606 |
|