Subversion Repositories SmartDukaan

Rev

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

Rev 19495 Rev 19591
Line 121... Line 121...
121
 
121
 
122
def commit():
122
def commit():
123
    for v in bundleMap.values():
123
    for v in bundleMap.values():
124
        get_mongo_connection_dtr_data().Analytics.ViewSalesData.insert(v.__dict__)
124
        get_mongo_connection_dtr_data().Analytics.ViewSalesData.insert(v.__dict__)
125
 
125
 
-
 
126
def assignBestSellerRanks():
-
 
127
    skuBundleRankMap = {}
-
 
128
    date_field = (datetime.combine((datetime.now()).date(), time.min))
-
 
129
    start = to_java_date(date_field -timedelta(days=30))
-
 
130
    salesData = get_mongo_connection_dtr_data().Analytics.ViewSalesData.find({'date':{"$gte":start}},{'skuBundleId':1,'sales':1})
-
 
131
    for data in salesData:
-
 
132
        if skuBundleRankMap.has_key(data['skuBundleId']):
-
 
133
            skuBundleRankMap[data['skuBundleId']] = skuBundleRankMap.get(data['skuBundleId']) + data['sales']
-
 
134
        else:
-
 
135
            skuBundleRankMap[data['skuBundleId']] = data['sales']
-
 
136
    sorted_skuBundleRankMap = sorted(skuBundleRankMap.items(), key=lambda x: x[1],reverse=True)
-
 
137
    rank = 1
-
 
138
    for i in sorted_skuBundleRankMap:
-
 
139
        if rank > 100:
-
 
140
            return
-
 
141
        master = get_mongo_connection(host=dtr_host).Catalog.MasterData.find_one({'skuBundleId':i[0]})
-
 
142
        if master is None or master['category_id']!=6:
-
 
143
            continue
-
 
144
        get_mongo_connection(host=dtr_host).Catalog.MasterData.update({'skuBundleId':master['skuBundleId']},{"$set":{"rank":rank}},upsert=False,multi=True)
-
 
145
        rank = rank + 1
-
 
146
        
-
 
147
 
126
def main():
148
def main():
127
    createViewsMap()
149
    createViewsMap()
128
    createSalesMap()
150
    createSalesMap()
129
    commit()
151
    commit()
-
 
152
    assignBestSellerRanks()
130
    
153
    
131
 
154
 
132
if __name__ == '__main__':
155
if __name__ == '__main__':
133
    main()
156
    main()
134
157