Subversion Repositories SmartDukaan

Rev

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

Rev 16938 Rev 16941
Line 1584... Line 1584...
1584
    
1584
    
1585
def populateAppOffers(retailerId):
1585
def populateAppOffers(retailerId):
1586
    retailerId = int(retailerId)
1586
    retailerId = int(retailerId)
1587
    #offset = req.get_param_as_int("offset")
1587
    #offset = req.get_param_as_int("offset")
1588
    #limit = req.get_param_as_int("limit")
1588
    #limit = req.get_param_as_int("limit")
1589
    nonPriortizedOffers = session.query(app_offers.id).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).filter(app_offers.priority==0).order_by(desc('user_payout')).all()
1589
    nonPriortizedOffers = session.query(app_offers.id).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).filter(appmasters.rank==0).order_by(desc('user_payout')).all()
1590
    priortizeders = session.query(app_offers.id, app_offers.priority).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).filter(app_offers.priority>0).order_by(asc(app_offers.priority)).all()
1590
    priortizeders = session.query(app_offers.id, appmasters.rank).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).filter(appmasters.rank>0).order_by(asc(appmasters.rank)).all()
1591
    #session.query(app_offers.id,app_offers.appmaster_id, app_offers.app_name, app_offers.affiliate_offer_id, app_offers.image_url, app_offers.downloads, app_offers.link, app_offers.offer_price, app_offers.offerCategory, app_offers.package_name, app_offers.promoImage, app_offers.ratings, case([(app_offers.override_payout == True, app_offers.overriden_payout)], else_=app_offers.user_payout).label('user_payout'), case([(appmasters.shortDescription != None, appmasters.shortDescription)], else_=None).label('shortDescription'), case([(appmasters.longDescription != None, appmasters.longDescription)], else_=None).label('longDescription'), appmasters.customerOneLiner, appmasters.retailerOneLiner,app_offers.priority, app_offers.offerCondition, app_offers.location).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).order_by(case([(app_offers.priority.in_(tuple(nullCheckList)), 1)], else_=0), asc(app_offers.priority),desc('user_payout')).all()
1591
    #session.query(app_offers.id,app_offers.appmaster_id, app_offers.app_name, app_offers.affiliate_offer_id, app_offers.image_url, app_offers.downloads, app_offers.link, app_offers.offer_price, app_offers.offerCategory, app_offers.package_name, app_offers.promoImage, app_offers.ratings, case([(app_offers.override_payout == True, app_offers.overriden_payout)], else_=app_offers.user_payout).label('user_payout'), case([(appmasters.shortDescription != None, appmasters.shortDescription)], else_=None).label('shortDescription'), case([(appmasters.longDescription != None, appmasters.longDescription)], else_=None).label('longDescription'), appmasters.customerOneLiner, appmasters.retailerOneLiner,app_offers.priority, app_offers.offerCondition, app_offers.location).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).order_by(case([(app_offers.priority.in_(tuple(nullCheckList)), 1)], else_=0), asc(app_offers.priority),desc('user_payout')).all()
1592
    
1592
    
1593
    appOffersMap = {}
1593
    appOffersMap = {}
1594
    priorityList = []
1594
    priorityList = []
1595
    priorityMap = {}
1595
    priorityMap = {}
1596
    for offer in priortizeders:
1596
    for offer in priortizeders:
-
 
1597
        if priorityMap.has_key(long(offer[1])):
-
 
1598
            offersVal = priorityMap.get(long(offer[1]))
-
 
1599
            offersVal.append(offer)
1597
        priorityMap[long(offer[1])]=offer
1600
            priorityMap[long(offer[1])]=offersVal
1598
        
1601
        else:
-
 
1602
            offersVal = []
-
 
1603
            offersVal.append(offer)
-
 
1604
            priorityMap[long(offer[1])]=offersVal
-
 
1605
 
1599
    priorityList = sorted(priorityMap)
1606
    priorityList = sorted(priorityMap)
1600
      
1607
      
1601
    maxCount = len(nonPriortizedOffers) + len(priortizeders)
1608
    maxCount = len(nonPriortizedOffers) + len(priortizeders)
1602
    
1609
    
1603
    if priorityList is not None and len(priorityList)>0:
1610
    if priorityList is not None and len(priorityList)>0:
Line 1611... Line 1618...
1611
        if count in priorityList:
1618
        if count in priorityList:
1612
            blockedPlaces.append(count)
1619
            blockedPlaces.append(count)
1613
        else:
1620
        else:
1614
            availablePlaces.append(count)
1621
            availablePlaces.append(count)
1615
        count = count +1
1622
        count = count +1
1616
       
1623
    print 'Blocked Places', blockedPlaces
1617
    for val in blockedPlaces:
1624
    for val in blockedPlaces:
-
 
1625
        key = val
-
 
1626
        for offerObj in priorityMap.get(val):
-
 
1627
            while appOffersMap.has_key(key):
-
 
1628
                key = key+1
1618
        appOffersMap[val]= long(priorityMap[val][0])
1629
            appOffersMap[key] = long(offerObj[0])
-
 
1630
            if key in availablePlaces:
-
 
1631
                availablePlaces.remove(key)
-
 
1632
 
-
 
1633
    print 'Available Places', availablePlaces
1619
    
1634
 
1620
    i=0
1635
    i=0
1621
    for val in availablePlaces:
1636
    for val in availablePlaces:
1622
        if i<len(nonPriortizedOffers):
1637
        if i<len(nonPriortizedOffers):
1623
            appOffersMap[val]= long(nonPriortizedOffers[i][0])
1638
            appOffersMap[val]= long(nonPriortizedOffers[i][0])
1624
        else:
1639
        else: