Subversion Repositories SmartDukaan

Rev

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

Rev 23019 Rev 23297
Line 275... Line 275...
275
		
275
		
276
	}
276
	}
277
	
277
	
278
	
278
	
279
	
279
	
280
	private Map<Integer, Integer> toInventoryItemIdFofoOrderMap(List<FofoLineItem> fofoLineItems, Map<Integer, FofoOrderItem> fofoOrderItemIdFofoOrderItemMap){
280
	private Map<Integer, Integer> toInventoryItemIdFofoOrderIdMap(List<FofoLineItem> fofoLineItems, Map<Integer, FofoOrderItem> fofoOrderItemIdFofoOrderItemMap){
281
		Map<Integer, Integer> inventoryItemIdFofoOrderIdMap = new HashMap<>();
281
		Map<Integer, Integer> inventoryItemIdFofoOrderIdMap = new HashMap<>();
282
		
282
		
283
		for(FofoLineItem fofoLineItem : fofoLineItems){
283
		for(FofoLineItem fofoLineItem : fofoLineItems){
284
			inventoryItemIdFofoOrderIdMap.put(
284
			inventoryItemIdFofoOrderIdMap.put(
285
					fofoLineItem.getInventoryItemId(),
285
					fofoLineItem.getInventoryItemId(),
Line 293... Line 293...
293
		
293
		
294
		Map<Integer, FofoOrderItem> fofoOrderItemIdFofoOrderItemMap = this.toFofoOrderItemIdFofoOrderItemMap(fofoOrderItems);
294
		Map<Integer, FofoOrderItem> fofoOrderItemIdFofoOrderItemMap = this.toFofoOrderItemIdFofoOrderItemMap(fofoOrderItems);
295
 
295
 
296
		List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByFofoOrderItemIds(fofoOrderItemIdFofoOrderItemMap.keySet());
296
		List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByFofoOrderItemIds(fofoOrderItemIdFofoOrderItemMap.keySet());
297
		
297
		
298
		Map<Integer, Integer> inventoryItemIdFofoOrderIdMap = this.toInventoryItemIdFofoOrderMap(fofoLineItems, fofoOrderItemIdFofoOrderItemMap);
298
		Map<Integer, Integer> inventoryItemIdFofoOrderIdMap = this.toInventoryItemIdFofoOrderIdMap(fofoLineItems, fofoOrderItemIdFofoOrderItemMap);
299
		
299
		
300
		List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIdFofoOrderIdMap.keySet());
300
		List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIdFofoOrderIdMap.keySet());
301
		
301
		
302
		List<Integer> itemIds = schemeItemRepository.selectItemIdsBySchemeId(scheme.getId());
302
		List<Integer> itemIds = schemeItemRepository.selectItemIdsBySchemeId(scheme.getId());
303
		
303
		
Line 305... Line 305...
305
		
305
		
306
		
306
		
307
		if(scheme.isRetailerAll()){
307
		if(scheme.isRetailerAll()){
308
			for(InventoryItem inventoryItem : completedInventoryItems){
308
			for(InventoryItem inventoryItem : completedInventoryItems){
309
				float cashback = this.createSchemeInOut(scheme, inventoryItem);
309
				float cashback = this.createSchemeInOut(scheme, inventoryItem);
310
				walletService.addAmountToWallet(inventoryItem.getFofoId(), inventoryItem.getPurchaseId(), WalletReferenceType.SCHEME_IN, "Added for SCHEME_IN", cashback);
310
				walletService.addAmountToWallet(inventoryItem.getFofoId(), inventoryItem.getPurchaseId(), WalletReferenceType.SCHEME_OUT, "Added for SCHEME_OUT", cashback);
311
			}
311
			}
312
		}else{
312
		}else{
313
			List<Integer> retailerIds = retailerSchemeRepository.selectRetailerIdsBySchemeId(scheme.getId());
313
			List<Integer> retailerIds = retailerSchemeRepository.selectRetailerIdsBySchemeId(scheme.getId());
314
			for(InventoryItem inventoryItem : completedInventoryItems){
314
			for(InventoryItem inventoryItem : completedInventoryItems){
315
				if(retailerIds.contains(inventoryItem.getFofoId())){
315
				if(retailerIds.contains(inventoryItem.getFofoId())){
316
					float cashback = this.createSchemeInOut(scheme, inventoryItem);
316
					float cashback = this.createSchemeInOut(scheme, inventoryItem);
317
					walletService.addAmountToWallet(inventoryItem.getFofoId(), inventoryItemIdFofoOrderIdMap.get(inventoryItem.getId()), WalletReferenceType.SCHEME_IN, "Added for SCHEME_IN", cashback);
317
					walletService.addAmountToWallet(inventoryItem.getFofoId(), inventoryItemIdFofoOrderIdMap.get(inventoryItem.getId()), WalletReferenceType.SCHEME_OUT, "Added for SCHEME_OUT", cashback);
318
				}
318
				}
319
			}
319
			}
320
		}
320
		}
321
	}
321
	}
322
	
322
	
Line 331... Line 331...
331
	private List<InventoryItem> toFilteredPurchaseCompletedInventoryItems(List<InventoryItem> inventoryItems, List<Integer> itemIds, boolean purchase){
331
	private List<InventoryItem> toFilteredPurchaseCompletedInventoryItems(List<InventoryItem> inventoryItems, List<Integer> itemIds, boolean purchase){
332
		List<InventoryItem> completedInventoryItems = new ArrayList<>();
332
		List<InventoryItem> completedInventoryItems = new ArrayList<>();
333
		for(InventoryItem inventoryItem : inventoryItems){
333
		for(InventoryItem inventoryItem : inventoryItems){
334
			if(purchase && inventoryItem.getPurchase().getCompleteTimestamp() != null && itemIds.contains(inventoryItem.getItemId())){
334
			if(purchase && inventoryItem.getPurchase().getCompleteTimestamp() != null && itemIds.contains(inventoryItem.getItemId())){
335
				completedInventoryItems.add(inventoryItem);
335
				completedInventoryItems.add(inventoryItem);
336
			}else if(itemIds.contains(inventoryItem.getItemId())){
336
			}else if(!purchase && itemIds.contains(inventoryItem.getItemId())){
337
				
337
				completedInventoryItems.add(inventoryItem);
338
			}
338
			}
339
		}
339
		}
340
		return completedInventoryItems;
340
		return completedInventoryItems;
341
	}
341
	}
342
	
342
	
343
	//private List<InventoryItem> to
-
 
344
 
-
 
345
	@Override
343
	@Override
346
	public void expireSchemeById(int schemeId) throws ProfitMandiBusinessException {
344
	public void expireSchemeById(int schemeId) throws ProfitMandiBusinessException {
347
		Scheme scheme = schemeRepository.selectById(schemeId);
345
		Scheme scheme = schemeRepository.selectById(schemeId);
348
		if(scheme.getActiveTimestamp() == null){
346
		if(scheme.getActiveTimestamp() == null){
349
			throw new ProfitMandiBusinessException(ProfitMandiConstants.ACTIVE_TIMESTAMP, scheme.getActiveTimestamp(), "SCHM_1007");
347
			throw new ProfitMandiBusinessException(ProfitMandiConstants.ACTIVE_TIMESTAMP, scheme.getActiveTimestamp(), "SCHM_1007");
Line 625... Line 623...
625
		if(totalCashback > 0){
623
		if(totalCashback > 0){
626
			walletService.addAmountToWallet(retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Added for SCHEME_OUT", totalCashback);
624
			walletService.addAmountToWallet(retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Added for SCHEME_OUT", totalCashback);
627
		}
625
		}
628
		return totalCashback;
626
		return totalCashback;
629
	}
627
	}
630
 
628
	
631
}
629
}