Subversion Repositories SmartDukaan

Rev

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

Rev 13932 Rev 13970
Line 1... Line 1...
1
import pymongo
1
import pymongo
2
from datetime import datetime
2
from datetime import datetime
3
from dtr.main import Store
3
from dtr.main import Store
4
from dtr.utils.utils import to_java_date
4
from dtr.utils.utils import to_java_date
5
from operator import itemgetter 
5
from operator import itemgetter
-
 
6
from bson.objectid import ObjectId
6
 
7
 
7
con = None
8
con = None
8
cashBackMap = {}
9
cashBackMap = {}
9
itemCashBackMap = {}
10
itemCashBackMap = {}
10
 
11
 
Line 25... Line 26...
25
    global itemCashBackMap
26
    global itemCashBackMap
26
    cashBackMap = {}
27
    cashBackMap = {}
27
    itemCashBackMap = {}
28
    itemCashBackMap = {}
28
    cashBack = list(get_mongo_connection().Catalog.CategoryCashBack.find())
29
    cashBack = list(get_mongo_connection().Catalog.CategoryCashBack.find())
29
    for row in cashBack:
30
    for row in cashBack:
-
 
31
        temp_map = {}
-
 
32
        temp_list = []
30
        if cashBackMap.has_key(row['source_id']):
33
        if cashBackMap.has_key(row['source_id']):
31
            temp_map = {}
-
 
32
            temp_list = []
-
 
33
            arr = cashBackMap.get(row['source_id'])
34
            arr = cashBackMap.get(row['source_id'])
34
            for val in arr:
35
            for val in arr:
35
                temp_list.append(val)
36
                temp_list.append(val)
36
            temp_map[row['category_id']] = row
37
            temp_map[row['category_id']] = row
37
            temp_list.append(temp_map)
38
            temp_list.append(temp_map)
38
            cashBackMap[row['source_id']] = temp_list 
39
            cashBackMap[row['source_id']] = temp_list 
39
        else:
40
        else:
40
            temp_map = {}
-
 
41
            temp_list = []
-
 
42
            temp_map[row['category_id']] = row
41
            temp_map[row['category_id']] = row
43
            temp_list.append(temp_map)
42
            temp_list.append(temp_map)
44
            cashBackMap[row['source_id']] = temp_list
43
            cashBackMap[row['source_id']] = temp_list
45
    itemCashBack = list(get_mongo_connection().Catalog.ItemCashBack.find())
44
    itemCashBack = list(get_mongo_connection().Catalog.ItemCashBack.find())
46
    for row in itemCashBack:
45
    for row in itemCashBack:
47
        if not itemCashBackMap.has_key(row['skuId']):
46
        if not itemCashBackMap.has_key(row['skuId']):
48
            itemCashBackMap[row['skuId']] = row
47
            itemCashBackMap[row['skuId']] = row
49
 
48
 
50
def addCategoryDiscount(data):
49
def addCategoryDiscount(data):
51
    collection = get_mongo_connection().Dtr.CategoryDiscount
50
    collection = get_mongo_connection().Catalog.CategoryDiscount
52
    query = []
51
    query = []
53
    data['brand'] = data['brand'].strip().upper()
52
    data['brand'] = data['brand'].strip().upper()
-
 
53
    data['discountType'] = data['discountType'].upper().strip()
54
    query.append({"brand":data['brand']})
54
    query.append({"brand":data['brand']})
55
    query.append({"category_id":data['category_id']})
55
    query.append({"category_id":data['category_id']})
56
    r = collection.find({"$and":query})
56
    r = collection.find({"$and":query})
57
    if r.count() > 0:
57
    if r.count() > 0:
58
        return {0:"Brand & Category info already present."}
58
        return {0:"Brand & Category info already present."}
59
    else:
59
    else:
60
        collection.insert(data)
60
        collection.insert(data)
-
 
61
        get_mongo_connection().Catalog.MasterData.update({'brand':data['brand'],'category_id':data['category_id']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=True)
61
        return {1:"Data added successfully"}
62
        return {1:"Data added successfully"}
62
 
63
 
-
 
64
def updateCategoryDiscount(data,_id):
-
 
65
    try:
-
 
66
        collection = get_mongo_connection().Catalog.CategoryDiscount
-
 
67
        collection.update({'_id':ObjectId(_id)},{"$set":{'min_discount':data['min_discount'],'max_discount':data['max_discount'],'discountType':data['discountType'].upper().strip()}},upsert=False, multi = False)
-
 
68
        get_mongo_connection().Catalog.MasterData.update({'brand':data['brand'],'category_id':data['category_id']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=True)
-
 
69
        return {1:"Data updated successfully"}
-
 
70
    except:
-
 
71
        return {0:"Data not updated."}
-
 
72
    
-
 
73
 
63
def getAllCategoryDiscount():
74
def getAllCategoryDiscount():
64
    data = []
75
    data = []
65
    collection = get_mongo_connection().Dtr.CategoryDiscount
76
    collection = get_mongo_connection().Catalog.CategoryDiscount
66
    cursor = collection.find()
77
    cursor = collection.find()
67
    for val in cursor:
78
    for val in cursor:
68
        data.append(val)
79
        data.append(val)
69
    return data
80
    return data
70
 
81
 
71
def addSchemeDetailsForSku(data):
82
def addSchemeDetailsForSku(data):
72
    collection = get_mongo_connection().Dtr.SkuSchemeDetails
83
    collection = get_mongo_connection().Catalog.SkuSchemeDetails
73
    data['addedOn'] = to_java_date(datetime.now())
84
    data['addedOn'] = to_java_date(datetime.now())
74
    collection.insert(data)
85
    collection.insert(data)
75
    return {1:"Data added successfully"}
86
    return {1:"Data added successfully"}
76
 
87
 
77
def getAllSkuWiseSchemeDetails():
88
def getAllSkuWiseSchemeDetails():
78
    data = []
89
    data = []
79
    collection = get_mongo_connection().Dtr.SkuSchemeDetails
90
    collection = get_mongo_connection().Catalog.SkuSchemeDetails
80
    cursor = collection.find()
91
    cursor = collection.find()
81
    for val in cursor:
92
    for val in cursor:
82
        data.append(val)
93
        data.append(val)
83
    return data
94
    return data
84
 
95
 
85
def addSkuDiscountInfo(data):
96
def addSkuDiscountInfo(data):
86
    collection = get_mongo_connection().Dtr.SkuDiscountInfo
97
    collection = get_mongo_connection().Catalog.SkuDiscountInfo
87
    cursor = collection.find({"sku":data['sku']})
98
    cursor = collection.find({"sku":data['sku']})
88
    if cursor.count() > 0:
99
    if cursor.count() > 0:
89
        return {0:"Sku information already present."}
100
        return {0:"Sku information already present."}
90
    else:
101
    else:
91
        collection.insert(data)
102
        collection.insert(data)
-
 
103
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
92
        return {1:"Data added successfully"}
104
        return {1:"Data added successfully"}
93
 
105
 
94
def getallSkuDiscountInfo():
106
def getallSkuDiscountInfo(offset, limit):
95
    data = []
107
    data = []
96
    collection = get_mongo_connection().Dtr.SkuDiscountInfo
108
    collection = get_mongo_connection().Catalog.SkuDiscountInfo
97
    cursor = collection.find()
109
    cursor = collection.find().skip(offset).limit(limit)
98
    for val in cursor:
110
    for val in cursor:
-
 
111
        master = list(get_mongo_connection().Catalog.MasterData.find({'_id':val['sku']}))
-
 
112
        if len(master) > 0:
-
 
113
            val['brand'] = master['brand']
-
 
114
            val['source_product_name'] = master['source_product_name']
-
 
115
            val['skuBundleId'] = master['skuBundleId']
-
 
116
        else:
-
 
117
            val['brand'] = ""
-
 
118
            val['source_product_name'] = ""
-
 
119
            val['skuBundleId'] = ""
99
        data.append(val)
120
        data.append(val)
100
    return data
121
    return data
101
 
122
 
-
 
123
def updateSkuDiscount(data,_id):
-
 
124
    try:
-
 
125
        collection = get_mongo_connection().Catalog.SkuDiscountInfo
-
 
126
        collection.update({'_id':ObjectId(_id)},{"$set":{'min_discount':data['min_discount'],'max_discount':data['max_discount'],'discountType':data['discountType'].upper().strip()}},upsert=False, multi = False)
-
 
127
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
-
 
128
        return {1:"Data updated successfully"}
-
 
129
    except:
-
 
130
        return {0:"Data not updated."}
-
 
131
 
-
 
132
 
102
def addExceptionalNlc(data):
133
def addExceptionalNlc(data):
103
    collection = get_mongo_connection().Dtr.ExceptionalNlc
134
    collection = get_mongo_connection().Catalog.ExceptionalNlc
104
    cursor = collection.find({"sku":data['sku']})
135
    cursor = collection.find({"sku":data['sku']})
105
    if cursor.count() > 0:
136
    if cursor.count() > 0:
106
        return {0:"Sku information already present."}
137
        return {0:"Sku information already present."}
107
    else:
138
    else:
108
        collection.insert(data)
139
        collection.insert(data)
-
 
140
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
109
        return {1:"Data added successfully"}
141
        return {1:"Data added successfully"}
110
 
142
 
111
def getAllExceptionlNlcItems():
143
def getAllExceptionlNlcItems(offset, limit):
112
    data = []
144
    data = []
113
    collection = get_mongo_connection().Dtr.ExceptionalNlc
145
    collection = get_mongo_connection().Catalog.ExceptionalNlc
114
    cursor = collection.find()
146
    cursor = collection.find()
115
    for val in cursor:
147
    for val in cursor:
-
 
148
        master = list(get_mongo_connection().Catalog.MasterData.find({'_id':val['sku']}))
-
 
149
        if len(master) > 0:
-
 
150
            val['brand'] = master['brand']
-
 
151
            val['source_product_name'] = master['source_product_name']
-
 
152
            val['skuBundleId'] = master['skuBundleId']
-
 
153
        else:
-
 
154
            val['brand'] = ""
-
 
155
            val['source_product_name'] = ""
-
 
156
            val['skuBundleId'] = ""
116
        data.append(val)
157
        data.append(val)
117
    return data
158
    return data
118
 
159
 
119
def getMerchantOrdersByUser(userId, page=1, window=50):
160
def getMerchantOrdersByUser(userId, page=1, window=50):
120
    if page==None:
161
    if page==None:
Line 283... Line 324...
283
                    return cashBack.get(skuData[0]['category_id'])
324
                    return cashBack.get(skuData[0]['category_id'])
284
        else:
325
        else:
285
            return {} 
326
            return {} 
286
    else:
327
    else:
287
        return {}
328
        return {}
-
 
329
 
-
 
330
def getAllDealerPrices(offset, limit):
-
 
331
    data = []
-
 
332
    collection = get_mongo_connection().Catalog.SkuDealerPrices
-
 
333
    cursor = collection.find().skip(offset).limit(limit)
-
 
334
    for val in cursor:
-
 
335
        master = list(get_mongo_connection().Catalog.MasterData.find({'_id':val['sku']}))
-
 
336
        if len(master) > 0:
-
 
337
            val['brand'] = master['brand']
-
 
338
            val['source_product_name'] = master['source_product_name']
-
 
339
            val['skuBundleId'] = master['skuBundleId']
-
 
340
        else:
-
 
341
            val['brand'] = ""
-
 
342
            val['source_product_name'] = ""
-
 
343
            val['skuBundleId'] = ""
-
 
344
        data.append(val)
-
 
345
    return data
-
 
346
 
-
 
347
def addSkuDealerPrice(data):
-
 
348
    collection = get_mongo_connection().Catalog.SkuDealerPrices
-
 
349
    cursor = collection.find({"sku":data['sku']})
-
 
350
    if cursor.count() > 0:
-
 
351
        return {0:"Sku information already present."}
288
    
352
    else:
-
 
353
        collection.insert(data)
-
 
354
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
-
 
355
        return {1:"Data added successfully"}
-
 
356
 
-
 
357
def updateSkuDealerPrice(data, _id):
289
    
358
    try:
-
 
359
        collection = get_mongo_connection().Catalog.SkuDealerPrices
-
 
360
        collection.update({'_id':ObjectId(_id)},{"$set":{'dp':data['dp']}},upsert=False, multi = False)
-
 
361
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
-
 
362
        return {1:"Data updated successfully"}
-
 
363
    except:
-
 
364
        return {0:"Data not updated."}
-
 
365
 
-
 
366
def updateExceptionalNlc(data, _id):
290
    
367
    try:
-
 
368
        collection = get_mongo_connection().Catalog.ExceptionalNlc
-
 
369
        collection.update({'_id':ObjectId(_id)},{"$set":{'maxNlc':data['maxNlc'], 'minNlc':data['minNlc'], 'overrideNlc':data['overrideNlc']}},upsert=False, multi = False)
-
 
370
        get_mongo_connection().Catalog.MasterData.update({'_id':data['sku']},{"$set":{'updatedOn':to_java_date(datetime.now())}},multi=False)
-
 
371
        return {1:"Data updated successfully"}
-
 
372
    except:
-
 
373
        return {0:"Data not updated."}
-
 
374
 
291
 
375
 
292
def main():
376
def main():
293
    populateCashBack()
377
    populateCashBack()
294
    cashBack =  __getCashBack(8839,3,5)
378
    cashBack =  __getCashBack(8839,3,5)
295
    if not cashBack or cashBack.get('cash_back_status')!=1:
379
    if not cashBack or cashBack.get('cash_back_status')!=1: