| Line 347... |
Line 347... |
| 347 |
}
|
347 |
}
|
| 348 |
return schemeIdSchemeMap;
|
348 |
return schemeIdSchemeMap;
|
| 349 |
}
|
349 |
}
|
| 350 |
|
350 |
|
| 351 |
private Map<Integer, Set<Scheme>> toCatalogIdSchemesMap(List<SchemeItem> schemeItems, List<Scheme> schemes) {
|
351 |
private Map<Integer, Set<Scheme>> toCatalogIdSchemesMap(List<SchemeItem> schemeItems, List<Scheme> schemes) {
|
| 352 |
Map<Integer, Scheme> schemeIdSchemesMap = this.toSchemeIdSchemeMap(schemes);
|
352 |
Map<Integer, Scheme> schemesMap = schemes.stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
|
| 353 |
Map<Integer, Set<Scheme>> catalogIdSchemesMap = new HashMap<>();
|
353 |
Map<Integer, Set<Scheme>> catalogSchemesMap = new HashMap<>();
|
| 354 |
for (SchemeItem schemeItem : schemeItems) {
|
354 |
for (SchemeItem schemeItem : schemeItems) {
|
| 355 |
if (!catalogIdSchemesMap.containsKey(schemeItem.getCatalogId())) {
|
355 |
if (!catalogSchemesMap.containsKey(schemeItem.getCatalogId())) {
|
| 356 |
Set<Scheme> schemesSet = new HashSet<>();
|
- |
|
| 357 |
schemesSet.add(schemeIdSchemesMap.get(schemeItem.getSchemeId()));
|
- |
|
| 358 |
catalogIdSchemesMap.put(schemeItem.getCatalogId(), schemesSet);
|
356 |
catalogSchemesMap.put(schemeItem.getCatalogId(), new HashSet<>());
|
| 359 |
} else {
|
- |
|
| 360 |
catalogIdSchemesMap.get(schemeItem.getCatalogId()).add(schemeIdSchemesMap.get(schemeItem.getSchemeId()));
|
- |
|
| 361 |
}
|
357 |
}
|
| - |
|
358 |
Set<Scheme> schemesSet = catalogSchemesMap.get(schemeItem.getCatalogId());
|
| - |
|
359 |
schemesSet.add(schemesMap.get(schemeItem.getSchemeId()));
|
| 362 |
}
|
360 |
}
|
| 363 |
return catalogIdSchemesMap;
|
361 |
return catalogSchemesMap;
|
| 364 |
}
|
362 |
}
|
| 365 |
|
363 |
|
| 366 |
private Map<InventoryItem, Set<Scheme>> toInventoryItemSchemesMap(List<Scheme> schemes,
|
364 |
private Map<InventoryItem, Set<Scheme>> toInventoryItemSchemesMap(List<Scheme> schemes,
|
| 367 |
List<InventoryItem> inventoryItems) {
|
365 |
List<InventoryItem> inventoryItems) {
|
| 368 |
Set<Integer> schemeIds = new HashSet<>();
|
366 |
Set<Integer> schemeIds = schemes.stream().map(x -> x.getId()).collect(Collectors.toSet());
|
| 369 |
for (Scheme scheme : schemes) {
|
- |
|
| 370 |
schemeIds.add(scheme.getId());
|
- |
|
| 371 |
}
|
- |
|
| 372 |
Set<Integer> itemIds = inventoryItems.stream().map(x -> x.getItemId()).collect(Collectors.toSet());
|
367 |
Set<Integer> itemIds = inventoryItems.stream().map(x -> x.getItemId()).collect(Collectors.toSet());
|
| 373 |
Set<Integer> catalogIds = itemRepository.selectByIds(itemIds).stream().map(x -> x.getCatalogItemId()).collect(Collectors.toSet());
|
368 |
Set<Integer> catalogIds = itemRepository.selectByIds(itemIds).stream().map(x -> x.getCatalogItemId()).collect(Collectors.toSet());
|
| 374 |
List<SchemeItem> schemeItems = schemeItemRepository.selectBySchemeIdsAndCatalogIds(schemeIds, catalogIds);
|
369 |
List<SchemeItem> schemeItems = schemeItemRepository.selectBySchemeIdsAndCatalogIds(schemeIds, catalogIds);
|
| 375 |
|
370 |
|
| 376 |
Map<Integer, Set<Scheme>> itemIdSchemesMap = this.toCatalogIdSchemesMap(schemeItems, schemes);
|
371 |
Map<Integer, Set<Scheme>> catalogIdSchemesMap = this.toCatalogIdSchemesMap(schemeItems, schemes);
|
| 377 |
Map<InventoryItem, Set<Scheme>> inventoryItemSchemsMap = new HashMap<>();
|
372 |
Map<InventoryItem, Set<Scheme>> inventoryItemSchemsMap = new HashMap<>();
|
| 378 |
for (InventoryItem inventoryItem : inventoryItems) {
|
373 |
for (InventoryItem inventoryItem : inventoryItems) {
|
| 379 |
if (itemIdSchemesMap.containsKey(inventoryItem.getItemId())) {
|
374 |
if (catalogIdSchemesMap.containsKey(inventoryItem.getItem().getCatalogItemId())) {
|
| 380 |
inventoryItemSchemsMap.put(inventoryItem, itemIdSchemesMap.get(inventoryItem.getItemId()));
|
375 |
inventoryItemSchemsMap.put(inventoryItem, catalogIdSchemesMap.get(inventoryItem.getItem().getCatalogItemId()));
|
| 381 |
}
|
376 |
}
|
| 382 |
}
|
377 |
}
|
| 383 |
return inventoryItemSchemsMap;
|
378 |
return inventoryItemSchemsMap;
|
| 384 |
}
|
379 |
}
|
| 385 |
|
380 |
|
| Line 628... |
Line 623... |
| 628 |
walletService.addAmountToWallet(
|
623 |
walletService.addAmountToWallet(
|
| 629 |
retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Sales margin for invoice number "
|
624 |
retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Sales margin for invoice number "
|
| 630 |
+ fofoOrder.getInvoiceNumber() + ". Total " + count + " pc(s)",
|
625 |
+ fofoOrder.getInvoiceNumber() + ". Total " + count + " pc(s)",
|
| 631 |
totalCashback, fofoOrder.getCreateTimestamp());
|
626 |
totalCashback, fofoOrder.getCreateTimestamp());
|
| 632 |
fofoOrder.setCashback(totalCashback);
|
627 |
fofoOrder.setCashback(totalCashback);
|
| 633 |
fofoOrderRepository.persist(fofoOrder);
|
- |
|
| 634 |
}
|
628 |
}
|
| 635 |
}
|
629 |
}
|
| 636 |
}
|
630 |
}
|
| 637 |
|
631 |
|
| 638 |
@Override
|
632 |
@Override
|