| Line 294... |
Line 294... |
| 294 |
}
|
294 |
}
|
| 295 |
String parentFilterString = "\"" + String.join(" AND ", parentFilter) + "\"";
|
295 |
String parentFilterString = "\"" + String.join(" AND ", parentFilter) + "\"";
|
| 296 |
String childFilterString = String.join(" AND ", childFilter);
|
296 |
String childFilterString = String.join(" AND ", childFilter);
|
| 297 |
logger.info(parentFilterString);
|
297 |
logger.info(parentFilterString);
|
| 298 |
params.put("q", String.format("%s{!parent which=%s}%s", queryTerm, parentFilterString, childFilterString));
|
298 |
params.put("q", String.format("%s{!parent which=%s}%s", queryTerm, parentFilterString, childFilterString));
|
| - |
|
299 |
params.put("fl",
|
| 299 |
params.put("fl", String.format("*, [child parentFilter=id:catalog* childFilter=%s]",
|
300 |
String.format("*, [child parentFilter=id:catalog* childFilter=%s]", "\"" + childFilterString + "\""));
|
| 300 |
"\"" + childFilterString + "\""));
|
- |
|
| 301 |
if (queryTerm == "") {
|
301 |
if (queryTerm == "") {
|
| 302 |
params.put("sort", "create_s desc");
|
302 |
params.put("sort", "create_s desc");
|
| 303 |
}
|
303 |
}
|
| 304 |
params.put("start", String.valueOf(offset));
|
304 |
params.put("start", String.valueOf(offset));
|
| 305 |
params.put("rows", String.valueOf(limit));
|
305 |
params.put("rows", String.valueOf(limit));
|
| Line 606... |
Line 606... |
| 606 |
}
|
606 |
}
|
| 607 |
if (itemsSet.size() == 0) {
|
607 |
if (itemsSet.size() == 0) {
|
| 608 |
return dealResponse;
|
608 |
return dealResponse;
|
| 609 |
}
|
609 |
}
|
| 610 |
if (hotDeal) {
|
610 |
if (hotDeal) {
|
| - |
|
611 |
ourItemAvailabilityMap = saholicInventoryService
|
| 611 |
ourItemAvailabilityMap = saholicInventoryService.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
|
612 |
.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
|
| 612 |
} else if (fofoId > 0) {
|
613 |
} else if (fofoId > 0) {
|
| 613 |
partnerStockAvailabilityMap = currentInventorySnapshotRepository.selectItemsStock().stream()
|
614 |
partnerStockAvailabilityMap = currentInventorySnapshotRepository.selectItemsStock(fofoId).stream()
|
| 614 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
|
615 |
.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
|
| - |
|
616 |
ourItemAvailabilityMap = saholicInventoryService
|
| 615 |
ourItemAvailabilityMap = saholicInventoryService.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
|
617 |
.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
|
| 616 |
}
|
618 |
}
|
| 617 |
}
|
619 |
}
|
| 618 |
|
620 |
|
| 619 |
List<FofoAvailabilityInfo> fdis = new ArrayList<>();
|
- |
|
| 620 |
|
- |
|
| 621 |
for (int i = 0; i < docs.length(); i++) {
|
621 |
for (int i = 0; i < docs.length(); i++) {
|
| 622 |
Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
|
622 |
Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
|
| 623 |
JSONObject doc = docs.getJSONObject(i);
|
623 |
JSONObject doc = docs.getJSONObject(i);
|
| 624 |
FofoCatalogResponse ffdr = new FofoCatalogResponse();
|
624 |
FofoCatalogResponse ffdr = new FofoCatalogResponse();
|
| 625 |
ffdr.setCatalogId(doc.getInt("catalogId_i"));
|
625 |
ffdr.setCatalogId(doc.getInt("catalogId_i"));
|
| Line 652... |
Line 652... |
| 652 |
fdi.setTagId(childItem.getInt("tagId_i"));
|
652 |
fdi.setTagId(childItem.getInt("tagId_i"));
|
| 653 |
fdi.setItem_id(itemId);
|
653 |
fdi.setItem_id(itemId);
|
| 654 |
Float cashBack = schemeService.getItemSchemeCashBack().get(itemId);
|
654 |
Float cashBack = schemeService.getItemSchemeCashBack().get(itemId);
|
| 655 |
cashBack = cashBack == null ? 0 : cashBack;
|
655 |
cashBack = cashBack == null ? 0 : cashBack;
|
| 656 |
fdi.setCashback(cashBack);
|
656 |
fdi.setCashback(cashBack);
|
| 657 |
|
657 |
fdi.setMinBuyQuantity(1);
|
| 658 |
if (hotDeal) {
|
658 |
if (hotDeal) {
|
| 659 |
try {
|
659 |
try {
|
| 660 |
int totalAvailability = ourItemAvailabilityMap.get(itemId);
|
660 |
int totalAvailability = ourItemAvailabilityMap.get(itemId);
|
| 661 |
if (totalAvailability <= 0) {
|
661 |
if (totalAvailability <= 0) {
|
| 662 |
continue;
|
662 |
continue;
|
| Line 670... |
Line 670... |
| 670 |
fdi.setAvailability(100);
|
670 |
fdi.setAvailability(100);
|
| 671 |
Item item = itemRepository.selectById(itemId);
|
671 |
Item item = itemRepository.selectById(itemId);
|
| 672 |
// In case its tampered glass moq should be 5
|
672 |
// In case its tampered glass moq should be 5
|
| 673 |
if (item.getCategoryId() == 10020) {
|
673 |
if (item.getCategoryId() == 10020) {
|
| 674 |
fdi.setMinBuyQuantity(5);
|
674 |
fdi.setMinBuyQuantity(5);
|
| 675 |
} else {
|
- |
|
| 676 |
fdi.setMinBuyQuantity(1);
|
- |
|
| 677 |
}
|
675 |
}
|
| 678 |
} else {
|
676 |
} else {
|
| 679 |
int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0 : ourItemAvailabilityMap.get(itemId);
|
677 |
int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
|
| - |
|
678 |
: ourItemAvailabilityMap.get(itemId);
|
| 680 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0 : partnerStockAvailabilityMap.get(itemId);
|
679 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
|
| - |
|
680 |
: partnerStockAvailabilityMap.get(itemId);
|
| 681 |
fdi.setAvailability(ourStockAvailability + partnerAvailability);
|
681 |
fdi.setAvailability(ourStockAvailability + partnerAvailability);
|
| 682 |
}
|
682 |
}
|
| 683 |
fdi.setQuantityStep(1);
|
683 |
fdi.setQuantityStep(1);
|
| 684 |
fdi.setMaxQuantity(Math.min(fdi.getAvailability(), 100));
|
684 |
fdi.setMaxQuantity(Math.min(fdi.getAvailability(), 100));
|
| 685 |
fofoAvailabilityInfoMap.put(itemId, fdi);
|
685 |
fofoAvailabilityInfoMap.put(itemId, fdi);
|