Subversion Repositories SmartDukaan

Rev

Rev 16491 | Rev 16500 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 16491 Rev 16498
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