Subversion Repositories SmartDukaan

Rev

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

Rev 17388 Rev 17395
Line 217... Line 217...
217
        self.db.merchantOrder.update(searchMap, { '$set': updateMap }, multi=True)
217
        self.db.merchantOrder.update(searchMap, { '$set': updateMap }, multi=True)
218
        
218
        
219
    def _getActiveOrders(self, searchMap={}, collectionMap={}):
219
    def _getActiveOrders(self, searchMap={}, collectionMap={}):
220
        collection = self.db.merchantOrder
220
        collection = self.db.merchantOrder
221
        searchMap = dict(searchMap.items()+ {"subOrders.closed": False, "storeId" : self.store_id}.items()) 
221
        searchMap = dict(searchMap.items()+ {"subOrders.closed": False, "storeId" : self.store_id}.items()) 
222
        collectionMap =  dict(collectionMap.items() + {"orderSuccessUrl":1, "orderId":1,"subOrders":1, "placedOn":1}.items())
222
        #collectionMap =  dict(collectionMap.items() + {"orderSuccessUrl":1, "orderId":1,"subOrders":1, "placedOn":1, "orderTracking"}.items())
223
        stores = collection.find(searchMap, collectionMap)
223
        stores = collection.find(searchMap)
224
        return [store for store in stores]
224
        return [store for store in stores]
225
    
225
    
226
    def _getMissingOrders(self,searchMap={}):
226
    def _getMissingOrders(self,searchMap={}):
227
        collection = self.db.merchantOrder
227
        collection = self.db.merchantOrder
228
        searchMap = dict(searchMap.items()+ {"requireDetail":True, "storeId":self.store_id}.items()) 
228
        searchMap = dict(searchMap.items()+ {"requireDetail":True, "storeId":self.store_id}.items()) 
Line 237... Line 237...
237
        for subOrder in subOrders:
237
        for subOrder in subOrders:
238
            if merchantSubOrderId == subOrder.get("merchantSubOrderId"):
238
            if merchantSubOrderId == subOrder.get("merchantSubOrderId"):
239
                return subOrder
239
                return subOrder
240
        return None
240
        return None
241
    
241
    
242
    def populateDerivedFields(self, order):
242
    def populateDerivedFields(self, order, update=False):
243
        closed=True
243
        closed=True
244
        for subOrder in order.subOrders:
244
        for subOrder in order.subOrders:
245
            if subOrder.closed:
245
            if subOrder.closed:
246
                continue
246
                continue
-
 
247
            if not update:
247
            amount = subOrder.amount if hasattr(subOrder, 'amount') else subOrder.amountPaid
248
                amount = subOrder.amount if hasattr(subOrder, 'amount') else subOrder.amountPaid
248
            cashbackAmount, cashbackPercent = self.getCashbackAmount(subOrder.productCode, amount)
249
                cashbackAmount, cashbackPercent = self.getCashbackAmount(subOrder.productCode, amount)
249
            cashbackStatus = Store.CB_PENDING
250
                cashbackStatus = Store.CB_PENDING
250
            if cashbackAmount <= 0:
251
                if cashbackAmount <= 0:
251
                cashbackStatus = Store.CB_NA
252
                    cashbackStatus = Store.CB_NA
252
            subOrder.cashBackAmount = cashbackAmount
253
                subOrder.cashBackAmount = cashbackAmount
253
            subOrder.cashBackPercentage = cashbackPercent
254
                subOrder.cashBackPercentage = cashbackPercent
254
            subOrder.cashBackStatus = cashbackStatus      
255
                subOrder.cashBackStatus = cashbackStatus      
-
 
256
                dealRank = getDealRank(subOrder.productCode, self.store_id, order.userId)
-
 
257
                subOrder.dealRank = dealRank.get('rank')
-
 
258
                subOrder.rankDesc = dealRank.get('description')
-
 
259
                subOrder.maxNlc = dealRank.get('maxNlc')
-
 
260
                subOrder.minNlc = dealRank.get('minNlc')
-
 
261
                subOrder.db = dealRank.get('dp')
-
 
262
                subOrder.itemStatus = dealRank.get('status')
255
            subOrder.closed = subOrder.status in [self.ORDER_CANCELLED, self.ORDER_DELIVERED]
263
            subOrder.closed = subOrder.status in [Store.ORDER_CANCELLED, Store.ORDER_DELIVERED]
256
            closed = closed and subOrder.closed
264
            closed = closed and subOrder.closed
257
            dealRank = getDealRank(subOrder.productCode, self.store_id, order.userId)
-
 
258
            subOrder.dealRank = dealRank.get('rank')
265
            if subOrder.cashBackStatus!=Store.CB_NA:
259
            subOrder.rankDesc = dealRank.get('description')
266
                subOrder.cashBackStatus = Store.CB_PENDING
260
            subOrder.maxNlc = dealRank.get('maxNlc')
267
                if subOrder.status == self.ORDER_CANCELLED:
261
            subOrder.minNlc = dealRank.get('minNlc')
268
                    subOrder.cashBackStatus = Store.CB_CANCELLED 
262
            subOrder.db = dealRank.get('dp')
269
                elif subOrder.status == self.ORDER_DELIVERED:
263
            subOrder.itemStatus = dealRank.get('status')
270
                    subOrder.cashBackStatus = Store.CB_APPROVED
264
        order.closed = closed
271
        order.closed = closed
265
    
272
    
266
def settlePayBack(runtype='dry'):
273
def settlePayBack(runtype='dry'):
267
    userAmountMap = {}
274
    userAmountMap = {}
268
    searchMapList = []
275
    searchMapList = []