Subversion Repositories SmartDukaan

Rev

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

Rev 16021 Rev 16026
Line 163... Line 163...
163
    
163
    
164
def recomputeDeal(item):
164
def recomputeDeal(item):
165
    """Lets recompute deal for this bundle"""
165
    """Lets recompute deal for this bundle"""
166
    print "Recomputing for bundleId %d" %(item.get('skuBundleId'))
166
    print "Recomputing for bundleId %d" %(item.get('skuBundleId'))
167
    skuBundleId = item['skuBundleId']
167
    skuBundleId = item['skuBundleId']
-
 
168
    item['dealFlag'] = 0
168
    
169
    item['dealType'] = 0
-
 
170
    item['dealPoints'] = 0
-
 
171
    item['manualDealThresholdPrice'] = None
-
 
172
    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']}))
-
 
173
    if len(manualDeals) > 0:
-
 
174
        item['dealFlag'] = 1
-
 
175
        item['dealType'] =manualDeals[0]['dealType']
-
 
176
        item['dealPoints'] = manualDeals[0]['dealPoints']
-
 
177
        item['manualDealThresholdPrice'] = manualDeals[0]['dealThresholdPrice']
169
    similarItems = list(get_mongo_connection().Catalog.Deals.find({'skuBundleId':skuBundleId}).sort([('available_price',pymongo.ASCENDING)]))
178
    similarItems = list(get_mongo_connection().Catalog.Deals.find({'skuBundleId':skuBundleId}).sort([('available_price',pymongo.ASCENDING)]))
170
    bestPrice = float("inf")
179
    bestPrice = float("inf")
171
    bestOne = None
180
    bestOne = None
172
    bestSellerPoints = 0
181
    bestSellerPoints = 0
173
    toUpdate = []
182
    toUpdate = []
Line 216... Line 225...
216
                prepaidBestOne = similarItem
225
                prepaidBestOne = similarItem
217
                prepaidBestPrice = similarItem['available_price']
226
                prepaidBestPrice = similarItem['available_price']
218
                prepaidBestSellerPoints = similarItem['bestSellerPoints']
227
                prepaidBestSellerPoints = similarItem['bestSellerPoints']
219
            else:
228
            else:
220
                pass
229
                pass
221
    if bestOne is not None and prepaidBestOne is not None:
230
    if bestOne is not None or prepaidBestOne is not None:
222
        for similarItem in similarItems:
231
        for similarItem in similarItems:
223
            toUpdate.append(similarItem['_id'])
232
            toUpdate.append(similarItem['_id'])
224
        toUpdate.remove(bestOne['_id'])
233
        if bestOne is not None:
225
        toUpdate.remove(prepaidBestOne['_id'])
234
            toUpdate.remove(bestOne['_id'])
226
        get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1,'prepaidDeal':0 }})
235
            get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1,'prepaidDeal':0 }})
-
 
236
        if prepaidBestOne is not None:
-
 
237
            toUpdate.remove(prepaidBestOne['_id'])
227
        get_mongo_connection().Catalog.Deals.update({ '_id' : prepaidBestOne['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':1 }})
238
            get_mongo_connection().Catalog.Deals.update({ '_id' : prepaidBestOne['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':1 }})
228
    if len(toUpdate) > 0:
239
    if len(toUpdate) > 0:
229
        get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0,'prepaidDeal':0 }},upsert=False, multi=True)
240
        get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0,'prepaidDeal':0 }},upsert=False, multi=True)
230
 
241
 
231
          
242
          
232
def bundleNewProduct(existingProduct, toBundle):
243
def bundleNewProduct(existingProduct, toBundle):