Subversion Repositories SmartDukaan

Rev

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

Rev 35947 Rev 37143
Line 15... Line 15...
15
import com.spice.profitmandi.dao.repository.catalog.FocusedModelRepository;
15
import com.spice.profitmandi.dao.repository.catalog.FocusedModelRepository;
16
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
16
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
17
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
17
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
18
import com.spice.profitmandi.dao.repository.cs.PartnerRegionRepository;
18
import com.spice.profitmandi.dao.repository.cs.PartnerRegionRepository;
19
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
19
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
20
import com.spice.profitmandi.dao.repository.dtr.RetailerBlockBrandsRepository;
-
 
21
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
20
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
22
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
21
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
23
import com.spice.profitmandi.dao.repository.inventory.SaholicCISTableRepository;
22
import com.spice.profitmandi.dao.repository.inventory.SaholicCISTableRepository;
24
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
23
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
25
import com.spice.profitmandi.dao.repository.user.CartLineRepository;
24
import com.spice.profitmandi.dao.repository.user.CartLineRepository;
26
import com.spice.profitmandi.dao.repository.user.CartRepository;
25
import com.spice.profitmandi.dao.repository.user.CartRepository;
27
import com.spice.profitmandi.dao.repository.user.UserRepository;
26
import com.spice.profitmandi.dao.repository.user.UserRepository;
28
import com.spice.profitmandi.dao.repository.warehouse.BrandRegionMappingRepository;
27
import com.spice.profitmandi.dao.repository.warehouse.BrandRegionMappingRepository;
29
import com.spice.profitmandi.service.NotificationService;
28
import com.spice.profitmandi.service.NotificationService;
-
 
29
import com.spice.profitmandi.service.catalog.BrandsService;
30
import com.spice.profitmandi.service.inventory.FocusedShortageModel;
30
import com.spice.profitmandi.service.inventory.FocusedShortageModel;
31
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
31
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
32
import com.spice.profitmandi.service.inventory.WarehouseIntransitDataModel;
32
import com.spice.profitmandi.service.inventory.WarehouseIntransitDataModel;
33
import com.spice.profitmandi.service.transaction.TransactionService;
33
import com.spice.profitmandi.service.transaction.TransactionService;
34
import org.apache.logging.log4j.LogManager;
34
import org.apache.logging.log4j.LogManager;
Line 84... Line 84...
84
 
84
 
85
    @Autowired
85
    @Autowired
86
    private TransactionService transactionService;
86
    private TransactionService transactionService;
87
 
87
 
88
    @Autowired
88
    @Autowired
89
    private RetailerBlockBrandsRepository retailerBlockBrandRepository;
89
    private BrandsService brandsService;
90
 
90
 
91
    @Autowired
91
    @Autowired
92
    private OrderRepository orderRepository;
92
    private OrderRepository orderRepository;
93
 
93
 
94
    @Autowired
94
    @Autowired
Line 335... Line 335...
335
        cartResponse.setCod(false);
335
        cartResponse.setCod(false);
336
        return cartResponse;
336
        return cartResponse;
337
    }
337
    }
338
 
338
 
339
    @Override
339
    @Override
-
 
340
    public void addItemsToCart(int cartId, int fofoId, List<CartItem> cartItems) throws ProfitMandiBusinessException {
-
 
341
        List<CartItem> requestedItems = cartItems.stream().filter(x -> x.getQuantity() > 0)
-
 
342
                .collect(Collectors.toList());
-
 
343
        if (!requestedItems.isEmpty()) {
-
 
344
            List<String> requestedBrands = itemRepository
-
 
345
                    .selectByIds(requestedItems.stream().map(CartItem::getItemId).collect(Collectors.toSet()))
-
 
346
                    .stream().map(Item::getBrand).distinct().collect(Collectors.toList());
-
 
347
            brandsService.validateOrderableBrands(fofoId, requestedBrands);
-
 
348
        }
-
 
349
        this.addItemsToCart(cartId, cartItems);
-
 
350
    }
-
 
351
 
-
 
352
    @Override
340
    public void addItemsToCart(int cartId, List<CartItem> cartItems) throws ProfitMandiBusinessException {
353
    public void addItemsToCart(int cartId, List<CartItem> cartItems) throws ProfitMandiBusinessException {
341
        logger.info("cart items {}", cartItems);
354
        logger.info("cart items {}", cartItems);
342
        cartItems = cartItems.stream().filter(x -> x.getQuantity() > 0).collect(Collectors.toList());
355
        cartItems = cartItems.stream().filter(x -> x.getQuantity() > 0).collect(Collectors.toList());
343
        Map<Integer, Integer> itemQuantityMap = cartItems.stream()
356
        Map<Integer, Integer> itemQuantityMap = cartItems.stream()
344
                .collect(Collectors.toMap(x -> x.getItemId(), x -> x.getQuantity()));
357
                .collect(Collectors.toMap(x -> x.getItemId(), x -> x.getQuantity()));
Line 412... Line 425...
412
                .collect(Collectors.groupingBy(x -> x.getLineItem().getItem().getCatalogItemId(),
425
                .collect(Collectors.groupingBy(x -> x.getLineItem().getItem().getCatalogItemId(),
413
                        Collectors.summingLong(x -> (long) x.getLineItem().getQuantity())));
426
                        Collectors.summingLong(x -> (long) x.getLineItem().getQuantity())));
414
 
427
 
415
        FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
428
        FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
416
 
429
 
417
        List<String> retailerBlockBrands = retailerBlockBrandRepository.selectAllByRetailer(fofoId).stream()
430
        List<String> retailerBlockBrands = brandsService.restrictedBrands(fofoId);
418
                .map(x -> x.getBlockBrands()).collect(Collectors.toList());
-
 
419
 
431
 
420
        List<PartnerRegion> partnerRegions = partnerRegionRepository.selectByfofoId(fofoId);
432
        List<PartnerRegion> partnerRegions = partnerRegionRepository.selectByfofoId(fofoId);
421
        Map<Integer, Integer> focusedModelMap;
433
        Map<Integer, Integer> focusedModelMap;
422
        if (partnerRegions.size() > 0) {
434
        if (partnerRegions.size() > 0) {
423
            focusedModelMap = focusedModelRepository
435
            focusedModelMap = focusedModelRepository
Line 625... Line 637...
625
 
637
 
626
    @Override
638
    @Override
627
    public UserCart setCartItems(int fofoId, List<CartItem> cartItems) throws ProfitMandiBusinessException {
639
    public UserCart setCartItems(int fofoId, List<CartItem> cartItems) throws ProfitMandiBusinessException {
628
        User user = saholicUserRepository.selectById(fofoId);
640
        User user = saholicUserRepository.selectById(fofoId);
629
        this.clearCart(user.getActiveCartId());
641
        this.clearCart(user.getActiveCartId());
630
        this.addItemsToCart(user.getActiveCartId(), cartItems);
642
        this.addItemsToCart(user.getActiveCartId(), fofoId, cartItems);
631
 
643
 
632
        UserCart userCart = new UserCart();
644
        UserCart userCart = new UserCart();
633
        userCart.setCartId(user.getActiveCartId());
645
        userCart.setCartId(user.getActiveCartId());
634
        userCart.setUserId(user.getId());
646
        userCart.setUserId(user.getId());
635
        return userCart;
647
        return userCart;