| Line 3... |
Line 3... |
| 3 |
import java.time.LocalDateTime;
|
3 |
import java.time.LocalDateTime;
|
| 4 |
import java.time.LocalTime;
|
4 |
import java.time.LocalTime;
|
| 5 |
import java.time.format.DateTimeFormatter;
|
5 |
import java.time.format.DateTimeFormatter;
|
| 6 |
import java.util.ArrayList;
|
6 |
import java.util.ArrayList;
|
| 7 |
import java.util.Arrays;
|
7 |
import java.util.Arrays;
|
| - |
|
8 |
import java.util.Comparator;
|
| 8 |
import java.util.HashMap;
|
9 |
import java.util.HashMap;
|
| 9 |
import java.util.HashSet;
|
10 |
import java.util.HashSet;
|
| 10 |
import java.util.List;
|
11 |
import java.util.List;
|
| 11 |
import java.util.Map;
|
12 |
import java.util.Map;
|
| 12 |
import java.util.Optional;
|
13 |
import java.util.Optional;
|
| Line 677... |
Line 678... |
| 677 |
fofoAvailabilityInfoMap.get(itemId).setMop((float) childItem.getDouble("mop_f"));
|
678 |
fofoAvailabilityInfoMap.get(itemId).setMop((float) childItem.getDouble("mop_f"));
|
| 678 |
}
|
679 |
}
|
| 679 |
} else {
|
680 |
} else {
|
| 680 |
FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
|
681 |
FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
|
| 681 |
fdi.setSellingPrice(sellingPrice);
|
682 |
fdi.setSellingPrice(sellingPrice);
|
| 682 |
fdi.setActive(childItem.getBoolean("active_b"));
|
- |
|
| 683 |
fdi.setMrp(childItem.getDouble("mrp_f"));
|
683 |
fdi.setMrp(childItem.getDouble("mrp_f"));
|
| 684 |
fdi.setMop((float) childItem.getDouble("mop_f"));
|
684 |
fdi.setMop((float) childItem.getDouble("mop_f"));
|
| 685 |
fdi.setColor(childItem.has("color_s") ? childItem.getString("color_s") : "");
|
685 |
fdi.setColor(childItem.has("color_s") ? childItem.getString("color_s") : "");
|
| 686 |
fdi.setTagId(childItem.getInt("tagId_i"));
|
686 |
fdi.setTagId(childItem.getInt("tagId_i"));
|
| 687 |
fdi.setItem_id(itemId);
|
687 |
fdi.setItem_id(itemId);
|
| Line 689... |
Line 689... |
| 689 |
cashBack = cashBack == null ? 0 : cashBack;
|
689 |
cashBack = cashBack == null ? 0 : cashBack;
|
| 690 |
fdi.setCashback(cashBack);
|
690 |
fdi.setCashback(cashBack);
|
| 691 |
fdi.setMinBuyQuantity(1);
|
691 |
fdi.setMinBuyQuantity(1);
|
| 692 |
int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
|
692 |
int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
|
| 693 |
: Math.max(0, ourItemAvailabilityMap.get(itemId));
|
693 |
: Math.max(0, ourItemAvailabilityMap.get(itemId));
|
| - |
|
694 |
fdi.setActive(ourStockAvailability > 0);
|
| 694 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
|
695 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
|
| 695 |
: partnerStockAvailabilityMap.get(itemId);
|
696 |
: partnerStockAvailabilityMap.get(itemId);
|
| 696 |
fdi.setAvailability(Math.min(5, ourStockAvailability + partnerAvailability));
|
697 |
fdi.setAvailability(Math.min(5, ourStockAvailability + partnerAvailability));
|
| 697 |
fdi.setQuantityStep(1);
|
698 |
fdi.setQuantityStep(1);
|
| 698 |
fdi.setMaxQuantity(fdi.getAvailability());
|
699 |
fdi.setMaxQuantity(fdi.getAvailability());
|
| 699 |
fofoAvailabilityInfoMap.put(itemId, fdi);
|
700 |
fofoAvailabilityInfoMap.put(itemId, fdi);
|
| 700 |
}
|
701 |
}
|
| 701 |
}
|
702 |
}
|
| 702 |
}
|
703 |
}
|
| 703 |
if (fofoAvailabilityInfoMap.values().size() > 0) {
|
704 |
if (fofoAvailabilityInfoMap.values().size() > 0) {
|
| 704 |
ffdr.setItems(fofoAvailabilityInfoMap.values().stream()
|
705 |
ffdr.setItems(fofoAvailabilityInfoMap.values().stream().sorted()
|
| - |
|
706 |
.sorted(
|
| - |
|
707 |
Comparator.comparing(FofoAvailabilityInfo::isActive).reversed()
|
| 705 |
.sorted((x, y) -> y.getAvailability() - x.getAvailability()).collect(Collectors.toList()));
|
708 |
.thenComparingInt(x->x.getAvailability())).collect(Collectors.toList()));
|
| 706 |
dealResponse.add(ffdr);
|
709 |
dealResponse.add(ffdr);
|
| 707 |
}
|
710 |
}
|
| 708 |
}
|
711 |
}
|
| 709 |
return dealResponse.stream().sorted((x, y) -> {
|
712 |
return dealResponse.stream().sorted((x, y) -> {
|
| 710 |
return Math.min(y.getItems().get(0).getAvailability(), 1)
|
713 |
return Math.min(y.getItems().get(0).getAvailability(), 1)
|