Subversion Repositories SmartDukaan

Rev

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

Rev 19880 Rev 19896
Line 1119... Line 1119...
1119
                        pass
1119
                        pass
1120
                    av_info['netPriceAfterCashBack'] = netPriceAfterCashBack
1120
                    av_info['netPriceAfterCashBack'] = netPriceAfterCashBack
1121
                
1121
                
1122
            #item[0]['netPriceAfterCashBack'] = d['netPriceAfterCashBack']
1122
            #item[0]['netPriceAfterCashBack'] = d['netPriceAfterCashBack']
1123
            
1123
            
1124
            if item[0]['source_id'] != SOURCE_MAP.get("PAYTM.COM"):
1124
            if item[0]['source_id'] == SOURCE_MAP.get("PAYTM.COM"):
1125
                if item[0]['codAvailable'] ==1:
1125
                if item[0]['codAvailable'] ==1:
1126
                    paytmPrice = item[0]['available_price']
1126
                    paytmPrice = item[0]['available_price']
1127
                else:
1127
                else:
1128
                    paytmPrice = item[0]['gross_price']
1128
                    paytmPrice = item[0]['gross_price']
1129
                  
1129
                  
Line 1360... Line 1360...
1360
                        pass
1360
                        pass
1361
                    av_info['netPriceAfterCashBack'] = netPriceAfterCashBack
1361
                    av_info['netPriceAfterCashBack'] = netPriceAfterCashBack
1362
                
1362
                
1363
            #item[0]['netPriceAfterCashBack'] = d['netPriceAfterCashBack']
1363
            #item[0]['netPriceAfterCashBack'] = d['netPriceAfterCashBack']
1364
            
1364
            
1365
            if item[0]['source_id'] != SOURCE_MAP.get("PAYTM.COM"):
1365
            if item[0]['source_id'] == SOURCE_MAP.get("PAYTM.COM"):
1366
                if item[0]['codAvailable'] ==1:
1366
                if item[0]['codAvailable'] ==1:
1367
                    paytmPrice = item[0]['available_price']
1367
                    paytmPrice = item[0]['available_price']
1368
                else:
1368
                else:
1369
                    paytmPrice = item[0]['gross_price']
1369
                    paytmPrice = item[0]['gross_price']
1370
                  
1370
                  
Line 3324... Line 3324...
3324
        for subCat in SUB_CATEGORY_HEADER_RANKING:
3324
        for subCat in SUB_CATEGORY_HEADER_RANKING:
3325
            result[rank] = {'subCategoryId':subCat,'subCategory':SUB_CATEGORY_MAP.get(subCat)}
3325
            result[rank] = {'subCategoryId':subCat,'subCategory':SUB_CATEGORY_MAP.get(subCat)}
3326
            rank = rank + 1
3326
            rank = rank + 1
3327
    return result.values()
3327
    return result.values()
3328
 
3328
 
-
 
3329
def getDealsByType(category_id, offset, limit, type):
-
 
3330
    dealListMap = []
-
 
3331
    if type == 'exclusive':
-
 
3332
        exclusive_deals = mc.get("exclusive_deals_"+str(category_id))
-
 
3333
        if exclusive_deals is None:
-
 
3334
            print "Populating exclusive_deals for ",category_id
-
 
3335
            exclusive_deals = list(get_mongo_connection().Catalog.Deals.find({'category_id': category_id,'showDeal': 1, 'source_id': 4, 'totalPoints': {'$gt': -100}},{'_id':1,'category_id':1,'brand':1,'totalPoints':1,'bestSellerPoints':1,'nlcPoints':1,'rank':1,'available_price':1,'dealType':1,'source_id':1,'brand_id':1,'skuBundleId':1,'dp':1, 'showDp':1, 'gross_price':1, 'subCategoryId':1,'netPriceAfterCashBack':1}).sort([('totalPoints',pymongo.DESCENDING),('bestSellerPoints',pymongo.DESCENDING),('nlcPoints',pymongo.DESCENDING),('rank',pymongo.DESCENDING)]))
-
 
3336
            mc.set("exclusive_deals_"+str(category_id), exclusive_deals)
-
 
3337
        
-
 
3338
        for d in exclusive_deals[offset:limit]:
-
 
3339
            item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
-
 
3340
            if len(item) ==0:
-
 
3341
                continue 
-
 
3342
            try:
-
 
3343
                cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'])
-
 
3344
                if not cashBack or cashBack.get('cash_back_status')!=1:
-
 
3345
                    item[0]['cash_back_type'] = 0
-
 
3346
                    item[0]['cash_back'] = 0
-
 
3347
                else:
-
 
3348
                    if cashBack.get('maxCashBack') is not None:
-
 
3349
                        
-
 
3350
                        if cashBack.get('cash_back_type') ==1 and (float(cashBack.get('cash_back'))*item[0]['available_price'])/100 > cashBack.get('maxCashBack'):
-
 
3351
                            cashBack['cash_back_type'] = 2
-
 
3352
                            cashBack['cash_back'] = cashBack['maxCashBack']
-
 
3353
                        elif cashBack.get('cash_back_type') ==2 and cashBack.get('cash_back') > cashBack.get('maxCashBack'):
-
 
3354
                            cashBack['cash_back'] = cashBack['maxCashBack']
-
 
3355
                    
-
 
3356
                    item[0]['cash_back_type'] = int(cashBack['cash_back_type'])
-
 
3357
                    item[0]['cash_back'] = cashBack['cash_back']
-
 
3358
            except:
-
 
3359
                print "Error in adding cashback to deals"
-
 
3360
                item[0]['cash_back_type'] = 0
-
 
3361
                item[0]['cash_back'] = 0
-
 
3362
            try:
-
 
3363
                item[0]['dp'] = d['dp']
-
 
3364
                item[0]['showDp'] = d['showDp']
-
 
3365
            except:
-
 
3366
                item[0]['dp'] = 0.0
-
 
3367
                item[0]['showDp'] = 0
-
 
3368
            try:
-
 
3369
                item[0]['thumbnail'] = item[0]['thumbnail'].strip()
-
 
3370
            except:
-
 
3371
                pass
-
 
3372
            
-
 
3373
            try:
-
 
3374
                if item[0]['showVideo']==0:
-
 
3375
                    item[0]['videoLink'] =""
-
 
3376
            except:
-
 
3377
                item[0]['videoLink'] =""
-
 
3378
            try:
-
 
3379
                if item[0]['quantity'] >1:
-
 
3380
                    ppq = float(item[0]['available_price'])/item[0]['quantity']
-
 
3381
                     
-
 
3382
                    if ppq == round(ppq):
-
 
3383
                        item[0]['ppq'] = int(ppq)
-
 
3384
                    else:
-
 
3385
                        item[0]['ppq'] = round(ppq,2)
-
 
3386
                else:
-
 
3387
                    item[0]['ppq'] = 0
-
 
3388
            except:
-
 
3389
                item[0]['ppq'] = 0
-
 
3390
            try:
-
 
3391
                if item[0]['source_id']==4:
-
 
3392
                    item_availability_info = mc.get("item_availability_"+str(item[0]['identifier']).strip())
-
 
3393
                    if item_availability_info is None or len(item_availability_info)==0:
-
 
3394
                        item[0]['availabilityInfo'] = [{}]
-
 
3395
                    else:
-
 
3396
                        item[0]['availabilityInfo'] = item_availability_info
-
 
3397
            except:
-
 
3398
                item[0]['availabilityInfo'] = [{}]
-
 
3399
            
-
 
3400
            if item[0]['source_id']==4:
-
 
3401
                for av_info in item[0]['availabilityInfo']:
-
 
3402
                    if not av_info:
-
 
3403
                        continue
-
 
3404
                    av_info['cash_back'] = item[0]['cash_back']
-
 
3405
                    av_info['cash_back_type'] = item[0]['cash_back_type']
-
 
3406
                    netPriceAfterCashBack = av_info['sellingPrice'] 
-
 
3407
                    if av_info['cash_back_type'] ==1:
-
 
3408
                        netPriceAfterCashBack = av_info['sellingPrice'] - math.floor(float(av_info['sellingPrice'])*av_info['cash_back']/100)
-
 
3409
                    elif av_info['cash_back_type'] ==2:
-
 
3410
                        netPriceAfterCashBack = av_info['sellingPrice'] - math.floor(av_info['cash_back'])
-
 
3411
                    else:
-
 
3412
                        pass
-
 
3413
                    av_info['netPriceAfterCashBack'] = netPriceAfterCashBack
-
 
3414
                
-
 
3415
            if item[0]['cash_back_type'] ==1:
-
 
3416
                item[0]['netPriceAfterCashBack'] = item[0]['available_price'] -  math.floor(float(item[0]['available_price'])*item[0]['cash_back']/100)
-
 
3417
            elif item[0]['cash_back_type'] ==2:
-
 
3418
                item[0]['netPriceAfterCashBack'] = item[0]['available_price'] -  math.floor(item[0]['cash_back'])
-
 
3419
            else:
-
 
3420
                item[0]['netPriceAfterCashBack'] = item[0]['available_price']         
-
 
3421
            dealListMap.append([item[0]])
-
 
3422
    return dealListMap
-
 
3423
    
-
 
3424
 
-
 
3425
 
3329
def main():
3426
def main():
3330
    print getHeaderLinks(6)
3427
    print getDealsByType(3, 0, 20, 'exclusive')
3331
    
3428
    
3332
if __name__=='__main__':
3429
if __name__=='__main__':
3333
    main()
3430
    main()
3334
 
3431
 
3335
 
3432