Subversion Repositories SmartDukaan

Rev

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

Rev 23339 Rev 23344
Line 26... Line 26...
26
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
26
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
27
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
27
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
28
import com.spice.profitmandi.dao.entity.fofo.Purchase;
28
import com.spice.profitmandi.dao.entity.fofo.Purchase;
29
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
29
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
30
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
30
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
-
 
31
import com.spice.profitmandi.dao.entity.transaction.Order;
31
import com.spice.profitmandi.dao.enumuration.catalog.SchemeAmountType;
32
import com.spice.profitmandi.dao.enumuration.catalog.SchemeAmountType;
32
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
33
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
33
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
34
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
34
import com.spice.profitmandi.dao.repository.catalog.RetailerSchemeRepository;
35
import com.spice.profitmandi.dao.repository.catalog.RetailerSchemeRepository;
35
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
36
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
Line 38... Line 39...
38
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
39
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
40
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
40
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
41
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
41
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
42
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
42
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
43
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
-
 
44
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
43
import com.spice.profitmandi.service.inventory.OrderService;
45
import com.spice.profitmandi.service.inventory.OrderService;
44
import com.spice.profitmandi.service.wallet.WalletService;
46
import com.spice.profitmandi.service.wallet.WalletService;
45
 
47
 
46
import in.shop2020.model.v1.catalog.ItemType;
48
import in.shop2020.model.v1.catalog.ItemType;
47
import in.shop2020.model.v1.order.WalletReferenceType;
49
import in.shop2020.model.v1.order.WalletReferenceType;
Line 85... Line 87...
85
	private FofoLineItemRepository fofoLineItemRepository;
87
	private FofoLineItemRepository fofoLineItemRepository;
86
	
88
	
87
	@Autowired
89
	@Autowired
88
	private PurchaseRepository purchaseRepository;
90
	private PurchaseRepository purchaseRepository;
89
	
91
	
-
 
92
	@Autowired
-
 
93
	private OrderRepository orderRepository;
-
 
94
	
90
	@Override
95
	@Override
91
	public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException {
96
	public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException {
92
		
97
		
93
		this.validateCreateSchemeRequest(createSchemeRequest);
98
		this.validateCreateSchemeRequest(createSchemeRequest);
94
		
99
		
Line 499... Line 504...
499
		return fofoOrderItemSchemsMap;
504
		return fofoOrderItemSchemsMap;
500
	}
505
	}
501
	
506
	
502
	@Override
507
	@Override
503
	public float processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException {
508
	public float processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException {
-
 
509
		Purchase purchase = purchaseRepository.selectByIdAndFofoId(purchaseId, retailerId);
-
 
510
		List<Order> orders = orderRepository.selectByAirwayBillOrInvoiceNumber(purchase.getPurchaseReference(), retailerId);
-
 
511
		LocalDateTime billingTimestamp = LocalDateTime.now();
-
 
512
		if(!orders.isEmpty()){
-
 
513
			billingTimestamp = orders.get(0).getBillingTimestamp();
-
 
514
		}
504
		List<Scheme> schemes = schemeRepository.selectActiveAll(SchemeType.IN, LocalDateTime.now());
515
		List<Scheme> schemes = schemeRepository.selectActiveAll(SchemeType.IN, billingTimestamp);
505
		float totalCashback = 0;
516
		float totalCashback = 0;
506
		if(schemes.isEmpty()){
517
		if(schemes.isEmpty()){
507
			return 0;
518
			return 0;
508
		}
519
		}
509
		List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchaseId);
520
		List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchaseId);
510
		LOGGER.info("SchemeIn filter inventoryItems {}", inventoryItems);
521
		LOGGER.info("SchemeIn filter inventoryItems {}", inventoryItems);
511
		
522
		
512
		Purchase purchase = purchaseRepository.selectByIdAndFofoId(purchaseId, retailerId);
-
 
513
		
-
 
514
		Map<InventoryItem, Set<Scheme>> inventoryItemSchemesMap = this.toInventoryItemSchemesMap(schemes, inventoryItems);
523
		Map<InventoryItem, Set<Scheme>> inventoryItemSchemesMap = this.toInventoryItemSchemesMap(schemes, inventoryItems);
515
		
524
		
516
		if(inventoryItemSchemesMap.isEmpty()){
525
		if(inventoryItemSchemesMap.isEmpty()){
517
			return 0;
526
			return 0;
518
		}
527
		}