| Line 127... |
Line 127... |
| 127 |
import com.spice.profitmandi.dao.repository.transaction.PriceDropRepository;
|
127 |
import com.spice.profitmandi.dao.repository.transaction.PriceDropRepository;
|
| 128 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
|
128 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
|
| 129 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
|
129 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
|
| 130 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
130 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 131 |
import com.spice.profitmandi.service.PartnerInvestmentService;
|
131 |
import com.spice.profitmandi.service.PartnerInvestmentService;
|
| - |
|
132 |
import com.spice.profitmandi.service.integrations.toffee.ToffeeService;
|
| 132 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
133 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
| 133 |
import com.spice.profitmandi.service.order.OrderService;
|
134 |
import com.spice.profitmandi.service.order.OrderService;
|
| 134 |
import com.spice.profitmandi.service.pricing.PriceDropService;
|
135 |
import com.spice.profitmandi.service.pricing.PriceDropService;
|
| 135 |
import com.spice.profitmandi.service.recharge.provider.OxigenRechargeProviderService;
|
136 |
import com.spice.profitmandi.service.recharge.provider.OxigenRechargeProviderService;
|
| 136 |
import com.spice.profitmandi.service.recharge.provider.ThinkWalnutDigitalRechargeProviderService;
|
137 |
import com.spice.profitmandi.service.recharge.provider.ThinkWalnutDigitalRechargeProviderService;
|
| Line 162... |
Line 163... |
| 162 |
private PriceDropService priceDropService;
|
163 |
private PriceDropService priceDropService;
|
| 163 |
|
164 |
|
| 164 |
@Autowired
|
165 |
@Autowired
|
| 165 |
private CsService csService;
|
166 |
private CsService csService;
|
| 166 |
|
167 |
|
| - |
|
168 |
@Autowired
|
| - |
|
169 |
private ToffeeService toffeeService;
|
| - |
|
170 |
|
| 167 |
@Value("${oxigen.recharge.auth.key}")
|
171 |
@Value("${oxigen.recharge.auth.key}")
|
| 168 |
private String oxigenRechargeAuthKey;
|
172 |
private String oxigenRechargeAuthKey;
|
| 169 |
|
173 |
|
| 170 |
@Value("${oxigen.recharge.validation.url}")
|
174 |
@Value("${oxigen.recharge.validation.url}")
|
| 171 |
private String oxigenRechargeValidationUrl;
|
175 |
private String oxigenRechargeValidationUrl;
|
| Line 1453... |
Line 1457... |
| 1453 |
public void grouping() throws Exception {
|
1457 |
public void grouping() throws Exception {
|
| 1454 |
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM-dd-yyyy hh:mm");
|
1458 |
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM-dd-yyyy hh:mm");
|
| 1455 |
List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByStatus(PriceDropImeiStatus.APPROVED);
|
1459 |
List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByStatus(PriceDropImeiStatus.APPROVED);
|
| 1456 |
System.out.println(String.join("\t",
|
1460 |
System.out.println(String.join("\t",
|
| 1457 |
Arrays.asList("IMEI", "ItemId", "Brand", "Model Name", "Model Number", "Franchise Id", "Franchise Name",
|
1461 |
Arrays.asList("IMEI", "ItemId", "Brand", "Model Name", "Model Number", "Franchise Id", "Franchise Name",
|
| 1458 |
"Grn On", "Price Dropped On", "Approved On", "Returned On","Price Drop Paid", "Is Doa")));
|
1462 |
"Grn On", "Price Dropped On", "Approved On", "Returned On", "Price Drop Paid", "Is Doa")));
|
| 1459 |
Map<Integer, CustomRetailer> retailersMap = retailerService.getFofoRetailers();
|
1463 |
Map<Integer, CustomRetailer> retailersMap = retailerService.getFofoRetailers();
|
| 1460 |
for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
|
1464 |
for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
|
| 1461 |
if(priceDropIMEI.getPartnerId()==0) continue;
|
1465 |
if (priceDropIMEI.getPartnerId() == 0)
|
| - |
|
1466 |
continue;
|
| 1462 |
HashSet<String> imeis = new HashSet<>();
|
1467 |
HashSet<String> imeis = new HashSet<>();
|
| 1463 |
PriceDrop priceDrop = priceDropRepository.selectById(priceDropIMEI.getPriceDropId());
|
1468 |
PriceDrop priceDrop = priceDropRepository.selectById(priceDropIMEI.getPriceDropId());
|
| 1464 |
imeis.add(priceDropIMEI.getImei());
|
1469 |
imeis.add(priceDropIMEI.getImei());
|
| 1465 |
List<InventoryItem> inventoryItems = inventoryItemRepository
|
1470 |
List<InventoryItem> inventoryItems = inventoryItemRepository
|
| 1466 |
.selectByFofoIdSerialNumbers(priceDropIMEI.getPartnerId(), imeis, false);
|
1471 |
.selectByFofoIdSerialNumbers(priceDropIMEI.getPartnerId(), imeis, false);
|
| 1467 |
if(inventoryItems.size() == 0) {
|
1472 |
if (inventoryItems.size() == 0) {
|
| 1468 |
LOGGER.info("Need to investigate partnerId - {} imeis - {}" , priceDropIMEI.getPartnerId(), imeis);
|
1473 |
LOGGER.info("Need to investigate partnerId - {} imeis - {}", priceDropIMEI.getPartnerId(), imeis);
|
| 1469 |
continue;
|
1474 |
continue;
|
| 1470 |
}
|
1475 |
}
|
| 1471 |
InventoryItem inventoryItem = inventoryItems.get(0);
|
1476 |
InventoryItem inventoryItem = inventoryItems.get(0);
|
| 1472 |
CustomRetailer customRetailer = retailersMap.get(inventoryItem.getFofoId());
|
1477 |
CustomRetailer customRetailer = retailersMap.get(inventoryItem.getFofoId());
|
| 1473 |
if (inventoryItem.getLastScanType().equals(ScanType.DOA_OUT)
|
1478 |
if (inventoryItem.getLastScanType().equals(ScanType.DOA_OUT)
|
| Line 1481... |
Line 1486... |
| 1481 |
Arrays.asList(priceDropIMEI.getImei(), inventoryItem.getItemId() + "", item.getBrand(),
|
1486 |
Arrays.asList(priceDropIMEI.getImei(), inventoryItem.getItemId() + "", item.getBrand(),
|
| 1482 |
item.getModelName(), item.getModelNumber(), inventoryItem.getFofoId() + "",
|
1487 |
item.getModelName(), item.getModelNumber(), inventoryItem.getFofoId() + "",
|
| 1483 |
customRetailer.getBusinessName(), inventoryItem.getCreateTimestamp().format(dtf),
|
1488 |
customRetailer.getBusinessName(), inventoryItem.getCreateTimestamp().format(dtf),
|
| 1484 |
priceDrop.getAffectedOn().format(dtf),
|
1489 |
priceDrop.getAffectedOn().format(dtf),
|
| 1485 |
priceDropIMEI.getUpdateTimestamp().format(dtf),
|
1490 |
priceDropIMEI.getUpdateTimestamp().format(dtf),
|
| 1486 |
inventoryItem.getUpdateTimestamp().format(dtf),
|
1491 |
inventoryItem.getUpdateTimestamp().format(dtf), priceDrop.getPartnerPayout() + "",
|
| 1487 |
priceDrop.getPartnerPayout() + "",
|
- |
|
| 1488 |
inventoryItem.getLastScanType().equals(ScanType.DOA_OUT) + "")));
|
1492 |
inventoryItem.getLastScanType().equals(ScanType.DOA_OUT) + "")));
|
| 1489 |
}
|
1493 |
}
|
| 1490 |
}
|
1494 |
}
|
| 1491 |
}
|
1495 |
}
|
| 1492 |
/*
|
1496 |
/*
|
| Line 1506... |
Line 1510... |
| 1506 |
* csService.getAuthUserPartnerEmailMapping().entrySet()) {
|
1510 |
* csService.getAuthUserPartnerEmailMapping().entrySet()) {
|
| 1507 |
* System.out.println(storeGuyEntry.getKey() + " = " +
|
1511 |
* System.out.println(storeGuyEntry.getKey() + " = " +
|
| 1508 |
* storeGuyEntry.getValue()); }
|
1512 |
* storeGuyEntry.getValue()); }
|
| 1509 |
*/
|
1513 |
*/
|
| 1510 |
}
|
1514 |
}
|
| - |
|
1515 |
|
| - |
|
1516 |
public void testToffee() throws Exception {
|
| - |
|
1517 |
LOGGER.info("{}", toffeeService.getAuthToken());
|
| - |
|
1518 |
LOGGER.info("{}", toffeeService.getProducts());
|
| - |
|
1519 |
LOGGER.info("{}", toffeeService.getPincodes("36103000PR"));
|
| - |
|
1520 |
}
|
| - |
|
1521 |
|
| - |
|
1522 |
public void schemeRollback(List<String> schemeIds) throws Exception {
|
| - |
|
1523 |
List<Integer> schemeIdsInt = schemeIds.stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
|
| - |
|
1524 |
Map<Integer, Scheme> schemesMap = schemeRepository.selectBySchemeIds(schemeIdsInt, 0, 0).stream()
|
| - |
|
1525 |
.collect(Collectors.toMap(x -> x.getId(), x -> x));
|
| - |
|
1526 |
List<SchemeInOut> schemeInOuts = schemeInOutRepository.selectBySchemeIds(new HashSet<>(schemeIdsInt));
|
| - |
|
1527 |
for (SchemeInOut sio : schemeInOuts) {
|
| - |
|
1528 |
Scheme scheme = schemesMap.get(sio.getSchemeId());
|
| - |
|
1529 |
if (scheme.getType().equals(SchemeType.IN)) {
|
| - |
|
1530 |
|
| - |
|
1531 |
} else if (scheme.getType().equals(SchemeType.OUT)) {
|
| - |
|
1532 |
InventoryItem inventoryItem = inventoryItemRepository.selectById(sio.getInventoryItemId());
|
| - |
|
1533 |
List<ScanRecord> sr = scanRecordRepository.selectByInventoryItemId(sio.getInventoryItemId());
|
| - |
|
1534 |
ScanRecord scanRecord = sr.stream().filter(x -> x.getType().equals(ScanType.SALE))
|
| - |
|
1535 |
.max((x1, x2) -> x1.getCreateTimestamp().compareTo(x2.getCreateTimestamp())).get();
|
| - |
|
1536 |
if (scanRecord.getCreateTimestamp().isAfter(scheme.getEndDateTime())
|
| - |
|
1537 |
|| scanRecord.getCreateTimestamp().isBefore(scheme.getStartDateTime())) {
|
| - |
|
1538 |
sio.setRolledBackTimestamp(LocalDateTime.now());
|
| - |
|
1539 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(scanRecord.getOrderId());
|
| - |
|
1540 |
String rollbackReason = "Scheme rolledback twice for "
|
| - |
|
1541 |
+ itemRepository.selectById(inventoryItem.getItemId()).getItemDescription() + "/"
|
| - |
|
1542 |
+ fofoOrder.getInvoiceNumber();
|
| - |
|
1543 |
walletService.rollbackAmountFromWallet(scanRecord.getFofoId(), sio.getAmount(),
|
| - |
|
1544 |
scanRecord.getOrderId(), WalletReferenceType.SCHEME_OUT, rollbackReason);
|
| - |
|
1545 |
System.out.printf("Amount %f,SchemeId %d,Reason %s\n", sio.getAmount(), sio.getSchemeId(),
|
| - |
|
1546 |
rollbackReason);
|
| - |
|
1547 |
}
|
| - |
|
1548 |
}
|
| - |
|
1549 |
}
|
| - |
|
1550 |
throw new Exception();
|
| - |
|
1551 |
}
|
| 1511 |
}
|
1552 |
}
|