| Line 64... |
Line 64... |
| 64 |
private static final Logger LOGGER = LogManager.getLogger(Application.class);
|
64 |
private static final Logger LOGGER = LogManager.getLogger(Application.class);
|
| 65 |
|
65 |
|
| 66 |
@Autowired
|
66 |
@Autowired
|
| 67 |
private FofoStoreRepository fofoStoreRepository;
|
67 |
private FofoStoreRepository fofoStoreRepository;
|
| 68 |
|
68 |
|
| - |
|
69 |
private static final List<WalletReferenceType> reconciliationReferenceTypes = Arrays
|
| - |
|
70 |
.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT);
|
| - |
|
71 |
|
| 69 |
@Autowired
|
72 |
@Autowired
|
| 70 |
private PurchaseRepository purchaseRepository;
|
73 |
private PurchaseRepository purchaseRepository;
|
| 71 |
|
74 |
|
| 72 |
@Autowired
|
75 |
@Autowired
|
| 73 |
private OrderService orderService;
|
76 |
private OrderService orderService;
|
| Line 122... |
Line 125... |
| 122 |
UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
|
125 |
UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
|
| 123 |
List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
|
126 |
List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
|
| 124 |
yesterday);
|
127 |
yesterday);
|
| 125 |
Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
|
128 |
Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
|
| 126 |
.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
|
129 |
.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
|
| 127 |
Arrays.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT)
|
- |
|
| 128 |
.forEach(x -> {
|
130 |
reconciliationReferenceTypes.forEach(x -> {
|
| 129 |
if (!referenceWiseWalletHistory.containsKey(x)) {
|
131 |
if (!referenceWiseWalletHistory.containsKey(x)) {
|
| 130 |
referenceWiseWalletHistory.put(x, new ArrayList<>());
|
132 |
referenceWiseWalletHistory.put(x, new ArrayList<>());
|
| 131 |
}
|
133 |
}
|
| 132 |
});
|
134 |
});
|
| 133 |
|
135 |
|
| 134 |
List<Serializable> reconciliation = new ArrayList<>();
|
136 |
List<Serializable> reconciliation = new ArrayList<>();
|
| 135 |
LocalDate dateToReconcile = yesterday;
|
137 |
LocalDate dateToReconcile = yesterday;
|
| 136 |
// "PartnerId", "Partner Name", "Reconciliation Date"
|
138 |
// "PartnerId", "Partner Name", "Reconciliation Date"
|
| 137 |
reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
|
139 |
reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
|
| 138 |
|
140 |
|
| 139 |
for (Map.Entry<WalletReferenceType, List<UserWalletHistory>> entry : referenceWiseWalletHistory
|
141 |
for (WalletReferenceType walletReferenceType : reconciliationReferenceTypes) {
|
| 140 |
.entrySet()) {
|
- |
|
| 141 |
List<UserWalletHistory> history = entry.getValue();
|
142 |
List<UserWalletHistory> history = referenceWiseWalletHistory.get(walletReferenceType);
|
| 142 |
Map<Integer, Integer> referenceWalletMap = entry.getValue().stream().collect(
|
143 |
Map<Integer, Integer> referenceWalletMap = history.stream().collect(
|
| 143 |
Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
|
144 |
Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
|
| 144 |
switch (entry.getKey()) {
|
145 |
switch (walletReferenceType) {
|
| 145 |
case PURCHASE:
|
146 |
case PURCHASE:
|
| 146 |
reconciliation.addAll(reconcileOrdersAndWallet(dateToReconcile, referenceWalletMap, history));
|
147 |
reconciliation.addAll(reconcileOrdersAndWallet(dateToReconcile, referenceWalletMap, history));
|
| 147 |
break;
|
148 |
break;
|
| 148 |
case SCHEME_IN:
|
149 |
case SCHEME_IN:
|
| 149 |
reconciliation.addAll(reconcileSchemeInAndWallet(dateToReconcile, referenceWalletMap, history,
|
150 |
reconciliation.addAll(reconcileSchemeInAndWallet(dateToReconcile, referenceWalletMap, history,
|
| Line 352... |
Line 353... |
| 352 |
private void checkForDblClickIssues() {
|
353 |
private void checkForDblClickIssues() {
|
| 353 |
// For all schmes from April onwards
|
354 |
// For all schmes from April onwards
|
| 354 |
}
|
355 |
}
|
| 355 |
|
356 |
|
| 356 |
private void dbClickPurchase() {
|
357 |
private void dbClickPurchase() {
|
| 357 |
List<Purchase> purchases = purchaseRepository.selectAllBetweenPurchaseDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
|
358 |
List<Purchase> purchases = purchaseRepository
|
| 358 |
LocalDateTime.now());
|
359 |
.selectAllBetweenPurchaseDate(LocalDate.of(2019, 4, 1).atStartOfDay(), LocalDateTime.now());
|
| 359 |
}
|
360 |
}
|
| 360 |
|
361 |
|
| 361 |
private void dbClickSale() {
|
362 |
private void dbClickSale() {
|
| 362 |
List<FofoOrder> sales = fofoOrderRepository.selectBetweenSaleDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
|
363 |
List<FofoOrder> sales = fofoOrderRepository.selectBetweenSaleDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
|
| 363 |
LocalDateTime.now());
|
364 |
LocalDateTime.now());
|