| Line 35... |
Line 35... |
| 35 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
35 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 36 |
import com.spice.profitmandi.dao.repository.user.CounterRepository;
|
36 |
import com.spice.profitmandi.dao.repository.user.CounterRepository;
|
| 37 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
|
37 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
|
| 38 |
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
|
38 |
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
|
| 39 |
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
|
39 |
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
|
| - |
|
40 |
import com.spice.profitmandi.service.integrations.zest.MobileInsurancePlan;
|
| 40 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
41 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
| 41 |
import com.spice.profitmandi.service.inventory.PurchaseReturnService;
|
42 |
import com.spice.profitmandi.service.inventory.PurchaseReturnService;
|
| 42 |
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
|
43 |
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
|
| 43 |
import com.spice.profitmandi.service.offers.ItemCriteria;
|
44 |
import com.spice.profitmandi.service.offers.ItemCriteria;
|
| 44 |
import com.spice.profitmandi.service.pricing.PricingService;
|
45 |
import com.spice.profitmandi.service.pricing.PricingService;
|
| Line 336... |
Line 337... |
| 336 |
im.setSerialNumber(serialNumberDetail.getSerialNumber());
|
337 |
im.setSerialNumber(serialNumberDetail.getSerialNumber());
|
| 337 |
im.setMemory(serialNumberDetail.getMemory());
|
338 |
im.setMemory(serialNumberDetail.getMemory());
|
| 338 |
im.setRam(serialNumberDetail.getRam());
|
339 |
im.setRam(serialNumberDetail.getRam());
|
| 339 |
im.setMfgDate(serialNumberDetail.getMfgDate());
|
340 |
im.setMfgDate(serialNumberDetail.getMfgDate());
|
| 340 |
insuredModels.add(im);
|
341 |
insuredModels.add(im);
|
| - |
|
342 |
//Check for free insurance code
|
| - |
|
343 |
try {
|
| - |
|
344 |
Map<String, List<MobileInsurancePlan>> mobileInsurancePlanMap = insuranceService.getAllPlans(item.getId(), im.getDeviceSellingPrice());
|
| - |
|
345 |
MobileInsurancePlan mobileInsurancePlan = mobileInsurancePlanMap.entrySet().stream().flatMap(x -> x.getValue().stream())
|
| - |
|
346 |
.filter(x -> x.getProductId().equals(serialNumberDetail.getInsurance())).findFirst().get();
|
| - |
|
347 |
LOGGER.info("OneAssist Plan - {}", mobileInsurancePlanMap);
|
| - |
|
348 |
LOGGER.info("SerialNumber Detqail InsuranceId - {}", serialNumberDetail.getInsurance());
|
| - |
|
349 |
LOGGER.info("product description - {}", mobileInsurancePlan);
|
| - |
|
350 |
if (mobileInsurancePlan.getPlanName().equals("OneAssist Damage Protection Plan")) {
|
| - |
|
351 |
MobileInsurancePlan freePlan = mobileInsurancePlanMap.get("Prolong Extendended Warranty(SmartDukaan Special Price)").get(0);
|
| - |
|
352 |
InsuranceModel imFree = new InsuranceModel();
|
| - |
|
353 |
imFree.setBrand(item.getBrand());
|
| - |
|
354 |
imFree.setColor(item.getColor());
|
| - |
|
355 |
imFree.setModelName(item.getModelName() + item.getModelNumber());
|
| - |
|
356 |
imFree.setInsuranceAmount(0);
|
| - |
|
357 |
imFree.setDeviceSellingPrice(customFofoOrderItem.getSellingPrice());
|
| - |
|
358 |
imFree.setInsuranceId(freePlan.getProductId());
|
| - |
|
359 |
imFree.setSerialNumber(serialNumberDetail.getSerialNumber());
|
| - |
|
360 |
imFree.setMemory(serialNumberDetail.getMemory());
|
| - |
|
361 |
imFree.setRam(serialNumberDetail.getRam());
|
| - |
|
362 |
imFree.setMfgDate(serialNumberDetail.getMfgDate());
|
| - |
|
363 |
insuredModels.add(imFree);
|
| - |
|
364 |
}
|
| - |
|
365 |
} catch (Exception e) {
|
| - |
|
366 |
LOGGER.error("Exception - {}", e);
|
| - |
|
367 |
throw new ProfitMandiBusinessException("problem fetching plans", "problem fetching plans", "problem fetching plans");
|
| - |
|
368 |
}
|
| 341 |
}
|
369 |
}
|
| - |
|
370 |
|
| 342 |
}
|
371 |
}
|
| 343 |
} else {
|
372 |
} else {
|
| 344 |
nonSerializedItemIds.add(customFofoOrderItem.getItemId());
|
373 |
nonSerializedItemIds.add(customFofoOrderItem.getItemId());
|
| 345 |
}
|
374 |
}
|
| 346 |
}
|
375 |
}
|
| 347 |
|
376 |
|
| 348 |
Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
|
377 |
Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
|
| 349 |
Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
|
378 |
Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
|
| 350 |
// Map<String, Float> serialNumberItemPrice = new HashMap<>();
|
379 |
//Map<String, Float> serialNumberItemPrice = new HashMap<>();
|
| 351 |
|
380 |
|
| 352 |
if (!serialNumbers.isEmpty()) {
|
381 |
if (!serialNumbers.isEmpty()) {
|
| 353 |
List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
|
382 |
List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
|
| 354 |
serialNumbers, false);
|
383 |
serialNumbers, false);
|
| 355 |
LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
|
384 |
LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
|
| Line 518... |
Line 547... |
| 518 |
LOGGER.info("Processing insurane for serialNumbers");
|
547 |
LOGGER.info("Processing insurane for serialNumbers");
|
| 519 |
LOGGER.info("InsuranceModels {}", insuredModels);
|
548 |
LOGGER.info("InsuranceModels {}", insuredModels);
|
| 520 |
LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
|
549 |
LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
|
| 521 |
fofoOrder.setDateOfBirth(customerDateOfBirth);
|
550 |
fofoOrder.setDateOfBirth(customerDateOfBirth);
|
| 522 |
for (InsuranceModel insuranceModel : insuredModels) {
|
551 |
for (InsuranceModel insuranceModel : insuredModels) {
|
| - |
|
552 |
LOGGER.info("Creating insurance for {}", insuranceModel.getInsuranceId());
|
| 523 |
insuranceService.createInsurance(fofoOrder, insuranceModel);
|
553 |
insuranceService.createInsurance(fofoOrder, insuranceModel);
|
| 524 |
}
|
554 |
}
|
| 525 |
}
|
555 |
}
|
| 526 |
schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
|
556 |
schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
|
| 527 |
|
557 |
|