| Line 14... |
Line 14... |
| 14 |
import java.util.HashSet;
|
14 |
import java.util.HashSet;
|
| 15 |
import java.util.List;
|
15 |
import java.util.List;
|
| 16 |
import java.util.Map;
|
16 |
import java.util.Map;
|
| 17 |
import java.util.Optional;
|
17 |
import java.util.Optional;
|
| 18 |
import java.util.Set;
|
18 |
import java.util.Set;
|
| - |
|
19 |
import java.util.function.Function;
|
| 19 |
import java.util.stream.Collectors;
|
20 |
import java.util.stream.Collectors;
|
| 20 |
|
21 |
|
| 21 |
import javax.mail.MessagingException;
|
22 |
import javax.mail.MessagingException;
|
| 22 |
import javax.mail.internet.InternetAddress;
|
23 |
import javax.mail.internet.InternetAddress;
|
| 23 |
import javax.mail.internet.MimeMessage;
|
24 |
import javax.mail.internet.MimeMessage;
|
| Line 884... |
Line 885... |
| 884 |
List<SchemeInOut> rolledbackSios = new ArrayList<>();
|
885 |
List<SchemeInOut> rolledbackSios = new ArrayList<>();
|
| 885 |
Map<Integer, Integer> userWalletMap = userWalletRepository.selectAll().stream()
|
886 |
Map<Integer, Integer> userWalletMap = userWalletRepository.selectAll().stream()
|
| 886 |
.collect(Collectors.toMap(UserWallet::getUserId, UserWallet::getId));
|
887 |
.collect(Collectors.toMap(UserWallet::getUserId, UserWallet::getId));
|
| 887 |
Map<Integer, SchemeType> schemeTypeMap = schemeRepository.selectAll().stream()
|
888 |
Map<Integer, SchemeType> schemeTypeMap = schemeRepository.selectAll().stream()
|
| 888 |
.collect(Collectors.toMap(Scheme::getId, Scheme::getType));
|
889 |
.collect(Collectors.toMap(Scheme::getId, Scheme::getType));
|
| 889 |
LocalDateTime startDate = LocalDate.of(2018, 9, 4).atStartOfDay();
|
890 |
LocalDateTime startDate = LocalDate.of(2018, 9, 1).atStartOfDay();
|
| 890 |
LocalDateTime endDate = LocalDate.now().atStartOfDay();
|
891 |
LocalDateTime endDate = startDate.plusMonths(1);
|
| 891 |
List<FofoOrder> allOrders = fofoOrderRepository.selectBetweenSaleDate(startDate, endDate);
|
892 |
List<FofoOrder> allOrders = fofoOrderRepository.selectBetweenSaleDate(startDate, endDate);
|
| 892 |
allOrders.stream().forEach(fofoOrder -> {
|
893 |
allOrders.stream().forEach(fofoOrder -> {
|
| 893 |
String description = "Adjustment of Duplicate Scheme for Sale Invoice " + fofoOrder.getInvoiceNumber();
|
894 |
String description = "Adjustment of Duplicate Scheme for Sale Invoice " + fofoOrder.getInvoiceNumber();
|
| 894 |
Map<Integer, String> inventorySerialNumberMap = new HashMap<>();
|
895 |
Map<Integer, String> inventorySerialNumberMap = new HashMap<>();
|
| 895 |
float amountToRollback = 0;
|
896 |
float amountToRollback = 0;
|
| Line 945... |
Line 946... |
| 945 |
Utils.sendMailWithAttachments(googleMailSender, new String[] { "amit.gupta@shop2020.in" }, null,
|
946 |
Utils.sendMailWithAttachments(googleMailSender, new String[] { "amit.gupta@shop2020.in" }, null,
|
| 946 |
"Partner Excess Amount", "PFA",
|
947 |
"Partner Excess Amount", "PFA",
|
| 947 |
new Attachment[] { new Attachment("WalletSummary.csv", new ByteArrayResource(baos.toByteArray())),
|
948 |
new Attachment[] { new Attachment("WalletSummary.csv", new ByteArrayResource(baos.toByteArray())),
|
| 948 |
new Attachment("SchemeOutRolledback.csv", new ByteArrayResource(baosOuts.toByteArray())) });
|
949 |
new Attachment("SchemeOutRolledback.csv", new ByteArrayResource(baosOuts.toByteArray())) });
|
| 949 |
}
|
950 |
}
|
| - |
|
951 |
|
| - |
|
952 |
public void dryRunSchemeOutReco1() throws Exception {
|
| - |
|
953 |
List<Integer> references = Arrays.asList(6744,7347, 8320, 8891, 9124, 9217, 9263, 9379);
|
| - |
|
954 |
List<UserWalletHistory> userWalletHistory = new ArrayList<>();
|
| - |
|
955 |
List<SchemeInOut> rolledbackSios = new ArrayList<>();
|
| - |
|
956 |
Map<Integer, Integer> userWalletMap = userWalletRepository.selectAll().stream()
|
| - |
|
957 |
.collect(Collectors.toMap(UserWallet::getUserId, UserWallet::getId));
|
| - |
|
958 |
Map<Integer, SchemeType> schemeTypeMap = schemeRepository.selectAll().stream()
|
| - |
|
959 |
.collect(Collectors.toMap(Scheme::getId, Scheme::getType));
|
| - |
|
960 |
references.stream().forEach(reference -> {
|
| - |
|
961 |
FofoOrder fofoOrder = null;
|
| - |
|
962 |
try {
|
| - |
|
963 |
fofoOrder = fofoOrderRepository.selectByOrderId(reference);
|
| - |
|
964 |
} catch(Exception e) {
|
| - |
|
965 |
|
| - |
|
966 |
}
|
| - |
|
967 |
String description = "Adjustment of Duplicate Scheme for Sale Invoice " + fofoOrder.getInvoiceNumber();
|
| - |
|
968 |
Map<Integer, String> inventorySerialNumberMap = new HashMap<>();
|
| - |
|
969 |
float amountToRollback = 0;
|
| - |
|
970 |
List<FofoOrderItem> orderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
| - |
|
971 |
orderItems.forEach(x -> {
|
| - |
|
972 |
inventorySerialNumberMap.putAll(x.getFofoLineItems().stream().filter(li -> li.getSerialNumber() != null)
|
| - |
|
973 |
.collect(Collectors.toMap(FofoLineItem::getInventoryItemId, FofoLineItem::getSerialNumber)));
|
| - |
|
974 |
});
|
| - |
|
975 |
if (inventorySerialNumberMap.size() > 0) {
|
| - |
|
976 |
List<SchemeInOut> sios = schemeInOutRepository.
|
| - |
|
977 |
selectByInventoryItemIds(inventorySerialNumberMap.keySet()).stream().filter(x -> schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
|
| - |
|
978 |
.collect(Collectors.toList());
|
| - |
|
979 |
LOGGER.info("Found {} duplicate schemeouts for Orderid {}", sios.size(), fofoOrder.getId());
|
| - |
|
980 |
UserWalletHistory uwh = new UserWalletHistory();
|
| - |
|
981 |
Map<Integer, List<SchemeInOut>> inventoryIdSouts = sios.stream().collect(Collectors.groupingBy(SchemeInOut::getInventoryItemId, Collectors.toList()));
|
| - |
|
982 |
for (Map.Entry<Integer, List<SchemeInOut>> inventorySioEntry : inventoryIdSouts.entrySet()) {
|
| - |
|
983 |
List<SchemeInOut> outList = inventorySioEntry.getValue();
|
| - |
|
984 |
if(outList.size()>1) {
|
| - |
|
985 |
|
| - |
|
986 |
}
|
| - |
|
987 |
}
|
| - |
|
988 |
uwh.setAmount(Math.round(amountToRollback));
|
| - |
|
989 |
uwh.setDescription(description);
|
| - |
|
990 |
uwh.setTimestamp(LocalDateTime.now());
|
| - |
|
991 |
uwh.setReferenceType(WalletReferenceType.SCHEME_OUT);
|
| - |
|
992 |
uwh.setReference(fofoOrder.getId());
|
| - |
|
993 |
uwh.setWalletId(userWalletMap.get(fofoOrder.getFofoId()));
|
| - |
|
994 |
uwh.setFofoId(fofoOrder.getFofoId());
|
| - |
|
995 |
uwh.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
|
| - |
|
996 |
userWalletHistory.add(uwh);
|
| - |
|
997 |
}
|
| - |
|
998 |
});
|
| - |
|
999 |
|
| - |
|
1000 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
|
| - |
|
1001 |
Arrays.asList("User Id", "Reference Type", "Reference", "Amount", "Description", "Timestamp"),
|
| - |
|
1002 |
userWalletHistory.stream().map(x -> Arrays.asList(x.getWalletId(), x.getReferenceType(),
|
| - |
|
1003 |
x.getReference(), x.getAmount(), x.getDescription(), x.getTimestamp()))
|
| - |
|
1004 |
.collect(Collectors.toList()));
|
| - |
|
1005 |
|
| - |
|
1006 |
ByteArrayOutputStream baosOuts = FileUtil.getCSVByteStream(
|
| - |
|
1007 |
Arrays.asList("Scheme ID", "SchemeType", "Store Code", "Serial Number", "Amount", "Created",
|
| - |
|
1008 |
"Rolledback"),
|
| - |
|
1009 |
rolledbackSios.stream()
|
| - |
|
1010 |
.map(x -> Arrays.asList(x.getSchemeId(), x.getSchemeType(), x.getStoreCode(),
|
| - |
|
1011 |
x.getSerialNumber(), x.getAmount(), x.getCreateTimestamp(), x.getRolledBackTimestamp()))
|
| - |
|
1012 |
.collect(Collectors.toList()));
|
| - |
|
1013 |
|
| - |
|
1014 |
Utils.sendMailWithAttachments(googleMailSender, new String[] { "amit.gupta@shop2020.in" }, null,
|
| - |
|
1015 |
"Partner Excess Amount", "PFA",
|
| - |
|
1016 |
new Attachment[] { new Attachment("WalletSummary.csv", new ByteArrayResource(baos.toByteArray())),
|
| - |
|
1017 |
new Attachment("SchemeOutRolledback.csv", new ByteArrayResource(baosOuts.toByteArray())) });
|
| - |
|
1018 |
|
| - |
|
1019 |
}
|
| - |
|
1020 |
|
| - |
|
1021 |
|
| 950 |
}
|
1022 |
}
|
| 951 |
|
1023 |
|
| 952 |
/*
|
1024 |
/*
|
| 953 |
* public void processSchemeForModel(String string) { pricingService
|
1025 |
* public void processSchemeForModel(String string) { pricingService
|
| 954 |
*
|
1026 |
*
|