| 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;
|