| Line 228... |
Line 228... |
| 228 |
public ResponseEntity<?> cart(HttpServletRequest request, @RequestBody AddCartRequest cartRequest)
|
228 |
public ResponseEntity<?> cart(HttpServletRequest request, @RequestBody AddCartRequest cartRequest)
|
| 229 |
throws Exception {
|
229 |
throws Exception {
|
| 230 |
CartResponse cartResponse = new CartResponse();
|
230 |
CartResponse cartResponse = new CartResponse();
|
| 231 |
List<CartItemResponseModel> cartItemResponseModels = new ArrayList<>();
|
231 |
List<CartItemResponseModel> cartItemResponseModels = new ArrayList<>();
|
| 232 |
cartResponse.setCartItems(cartItemResponseModels);
|
232 |
cartResponse.setCartItems(cartItemResponseModels);
|
| 233 |
|
233 |
|
| 234 |
UserInfo userInfo = (UserInfo) request.getAttribute("userInfo");
|
234 |
UserInfo userInfo = (UserInfo) request.getAttribute("userInfo");
|
| 235 |
Integer storeId = userInfo.getRetailerId();
|
235 |
Integer storeId = userInfo.getRetailerId();
|
| 236 |
List<Integer> itemIds = cartRequest.getCartItems().stream().map(x -> x.getItemId())
|
236 |
List<Integer> itemIds = cartRequest.getCartItems().stream().map(x -> x.getItemId())
|
| 237 |
.collect(Collectors.toList());
|
237 |
.collect(Collectors.toList());
|
| 238 |
Set<Integer> itemsIdsSet = new HashSet<>(itemIds);
|
238 |
Set<Integer> itemsIdsSet = new HashSet<>(itemIds);
|
| 239 |
List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository
|
239 |
List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository
|
| 240 |
.selectByFofoItemIds(storeId, itemsIdsSet);
|
240 |
.selectByFofoItemIds(storeId, itemsIdsSet);
|
| 241 |
Map<Integer, Integer> storeItemAvailabilityMap = currentInventorySnapshot.stream()
|
241 |
Map<Integer, Integer> storeItemAvailabilityMap = currentInventorySnapshot.stream()
|
| - |
|
242 |
.filter(x -> x.getAvailability() > 0)
|
| 242 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
|
243 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
|
| 243 |
|
244 |
|
| 244 |
Map<Integer, Item> itemsMap = itemRepository.selectByIds(itemsIdsSet).stream()
|
245 |
Map<Integer, Item> itemsMap = itemRepository.selectByIds(itemsIdsSet).stream()
|
| 245 |
.collect(Collectors.toMap(x -> x.getId(), x -> x));
|
246 |
.collect(Collectors.toMap(x -> x.getId(), x -> x));
|
| 246 |
|
247 |
|
| Line 253... |
Line 254... |
| 253 |
|
254 |
|
| 254 |
Map<Integer, JSONObject> contentMap = commonSolrService.getContentByCatalogIds(catalogIds);
|
255 |
Map<Integer, JSONObject> contentMap = commonSolrService.getContentByCatalogIds(catalogIds);
|
| 255 |
|
256 |
|
| 256 |
// cartResponse.getCartItems()
|
257 |
// cartResponse.getCartItems()
|
| 257 |
for (CartItem cartItem : cartRequest.getCartItems()) {
|
258 |
for (CartItem cartItem : cartRequest.getCartItems()) {
|
| 258 |
if(cartItem.getQuantity()==0) {
|
259 |
if (cartItem.getQuantity() == 0) {
|
| 259 |
continue;
|
260 |
continue;
|
| 260 |
}
|
261 |
}
|
| 261 |
Item item = itemsMap.get(cartItem.getItemId());
|
262 |
Item item = itemsMap.get(cartItem.getItemId());
|
| 262 |
TagListing tagListing = sdItemAvailabilityMap.get(cartItem.getItemId());
|
263 |
TagListing tagListing = sdItemAvailabilityMap.get(cartItem.getItemId());
|
| 263 |
CartItemResponseModel cartItemResponseModel = new CartItemResponseModel();
|
264 |
CartItemResponseModel cartItemResponseModel = new CartItemResponseModel();
|
| Line 267... |
Line 268... |
| 267 |
} else if (tagListing.isActive()) {
|
268 |
} else if (tagListing.isActive()) {
|
| 268 |
cartItemResponseModel.setEstimate(3);
|
269 |
cartItemResponseModel.setEstimate(3);
|
| 269 |
} else {
|
270 |
} else {
|
| 270 |
cartItemResponseModel.setEstimate(-1);
|
271 |
cartItemResponseModel.setEstimate(-1);
|
| 271 |
}
|
272 |
}
|
| - |
|
273 |
} else if (tagListing.isActive()) {
|
| - |
|
274 |
cartItemResponseModel.setEstimate(3);
|
| - |
|
275 |
} else {
|
| - |
|
276 |
cartItemResponseModel.setEstimate(-1);
|
| 272 |
}
|
277 |
}
|
| - |
|
278 |
|
| 273 |
cartItemResponseModel.setTitle(item.getItemDescriptionNoColor());
|
279 |
cartItemResponseModel.setTitle(item.getItemDescriptionNoColor());
|
| 274 |
cartItemResponseModel.setItemId(cartItem.getItemId());
|
280 |
cartItemResponseModel.setItemId(cartItem.getItemId());
|
| 275 |
cartItemResponseModel.setMinBuyQuantity(1);
|
281 |
cartItemResponseModel.setMinBuyQuantity(1);
|
| 276 |
cartItemResponseModel.setQuantity(cartItem.getQuantity());
|
282 |
cartItemResponseModel.setQuantity(cartItem.getQuantity());
|
| 277 |
cartItemResponseModel.setSellingPrice(tagListing.getMop());
|
283 |
cartItemResponseModel.setSellingPrice(tagListing.getMop());
|
| 278 |
cartItemResponseModel.setMaxQuantity(10);
|
284 |
cartItemResponseModel.setMaxQuantity(10);
|
| 279 |
cartItemResponseModel.setCatalogItemId(item.getCatalogItemId());
|
285 |
cartItemResponseModel.setCatalogItemId(item.getCatalogItemId());
|
| 280 |
cartItemResponseModel.setImageUrl(contentMap.get(item.getCatalogItemId()).getString("imageUrl_s"));
|
286 |
cartItemResponseModel.setImageUrl(contentMap.get(item.getCatalogItemId()).getString("imageUrl_s"));
|
| 281 |
cartItemResponseModel.setColor(item.getColor());
|
287 |
cartItemResponseModel.setColor(item.getColor());
|
| 282 |
cartItemResponseModels.add(cartItemResponseModel);
|
288 |
cartItemResponseModels.add(cartItemResponseModel);
|
| 283 |
}
|
289 |
}
|
| 284 |
ValidateCartResponse vc = new ValidateCartResponse(cartResponse, "Success", "Items added to cart successfully");
|
290 |
ValidateCartResponse vc = new ValidateCartResponse(cartResponse, "Success", "Items added to cart successfully");
|
| 285 |
return responseSender.ok(vc);
|
291 |
return responseSender.ok(vc);
|
| 286 |
}
|
292 |
}
|
| 287 |
|
293 |
|