| Line 295... |
Line 295... |
| 295 |
logger.info("cart items {}", cartItems);
|
295 |
logger.info("cart items {}", cartItems);
|
| 296 |
cartItems = cartItems.stream().filter(x -> x.getQuantity() > 0).collect(Collectors.toList());
|
296 |
cartItems = cartItems.stream().filter(x -> x.getQuantity() > 0).collect(Collectors.toList());
|
| 297 |
Map<Integer, Integer> itemQuantityMap = cartItems.stream()
|
297 |
Map<Integer, Integer> itemQuantityMap = cartItems.stream()
|
| 298 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getQuantity()));
|
298 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getQuantity()));
|
| 299 |
List<CartLine> cartLines = cartLineRepository.selectAllByCart(cartId);
|
299 |
List<CartLine> cartLines = cartLineRepository.selectAllByCart(cartId);
|
| - |
|
300 |
Map<Integer, CartLine> itemCartLineMap = cartLines.stream().collect(Collectors.toMap(x->x.getItemId(), x->x));
|
| 300 |
// Delete cartLines with 0 values
|
301 |
// Delete cartLines with 0 values
|
| 301 |
for (CartLine cartLine : cartLines) {
|
302 |
for (CartLine cartLine : cartLines) {
|
| 302 |
Integer quantity = itemQuantityMap.get(cartLine.getItemId());
|
303 |
Integer quantity = itemQuantityMap.get(cartLine.getItemId());
|
| 303 |
if (quantity == null || quantity.intValue() == 0) {
|
304 |
if (quantity == null || quantity.intValue() == 0) {
|
| 304 |
cartLineRepository.delete(cartLine);
|
305 |
cartLineRepository.delete(cartLine);
|
| Line 306... |
Line 307... |
| 306 |
cartLine.setQuantity(itemQuantityMap.get(cartLine.getItemId()));
|
307 |
cartLine.setQuantity(itemQuantityMap.get(cartLine.getItemId()));
|
| 307 |
cartLine.setUpdateTimestapm(LocalDateTime.now());
|
308 |
cartLine.setUpdateTimestapm(LocalDateTime.now());
|
| 308 |
}
|
309 |
}
|
| 309 |
}
|
310 |
}
|
| 310 |
for (CartItem cartItem : cartItems) {
|
311 |
for (CartItem cartItem : cartItems) {
|
| 311 |
if (cartLineRepository.selectByCartItem(cartId, cartItem.getItemId()) == null) {
|
312 |
if (!itemCartLineMap.containsKey(cartItem.getItemId())) {
|
| 312 |
CartLine cartLineNew = new CartLine();
|
313 |
CartLine cartLineNew = new CartLine();
|
| 313 |
cartLineNew.setItemId(cartItem.getItemId());
|
314 |
cartLineNew.setItemId(cartItem.getItemId());
|
| 314 |
cartLineNew.setQuantity(cartItem.getQuantity());
|
315 |
cartLineNew.setQuantity(cartItem.getQuantity());
|
| 315 |
cartLineNew.setCartId(cartId);
|
316 |
cartLineNew.setCartId(cartId);
|
| 316 |
cartLineNew.setCreateTimestamp(LocalDateTime.now());
|
317 |
cartLineNew.setCreateTimestamp(LocalDateTime.now());
|