| Line 3576... |
Line 3576... |
| 3576 |
.selectByFofoId(loan.getFofoId());
|
3576 |
.selectByFofoId(loan.getFofoId());
|
| 3577 |
|
3577 |
|
| 3578 |
if (userWallet.getAmount() >= 100) {
|
3578 |
if (userWallet.getAmount() >= 100) {
|
| 3579 |
List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(loan.getId());
|
3579 |
List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(loan.getId());
|
| 3580 |
|
3580 |
|
| - |
|
3581 |
LOGGER.info("loanStatements {}", loanStatements);
|
| - |
|
3582 |
|
| 3581 |
Map<LoanReferenceType, Double> loanStatusAmount = loanStatements.stream()
|
3583 |
Map<LoanReferenceType, Double> loanStatusAmount = loanStatements.stream()
|
| 3582 |
.collect(Collectors.groupingBy(x -> x.getLoanReferenceType(),
|
3584 |
.collect(Collectors.groupingBy(x -> x.getLoanReferenceType(),
|
| 3583 |
Collectors.summingDouble(x -> x.getAmount().doubleValue())));
|
3585 |
Collectors.summingDouble(x -> x.getAmount().doubleValue())));
|
| 3584 |
|
3586 |
|
| 3585 |
LOGGER.info("loanStatusAmount {}", loanStatusAmount);
|
3587 |
LOGGER.info("loanStatusAmount {}", loanStatusAmount);
|
| Line 3591... |
Line 3593... |
| 3591 |
|
3593 |
|
| 3592 |
double principalAmount = loanStatusAmount.get(LoanReferenceType.PRINCIPAL);
|
3594 |
double principalAmount = loanStatusAmount.get(LoanReferenceType.PRINCIPAL);
|
| 3593 |
double paidAmount = 0;
|
3595 |
double paidAmount = 0;
|
| 3594 |
if (userWallet.getAmount() > Math.abs(interestAmount)) {
|
3596 |
if (userWallet.getAmount() > Math.abs(interestAmount)) {
|
| 3595 |
|
3597 |
|
| - |
|
3598 |
LOGGER.info("interestAmount b {}", interestAmount);
|
| - |
|
3599 |
|
| 3596 |
if (interestAmount != 0) {
|
3600 |
if (interestAmount != 0) {
|
| - |
|
3601 |
LOGGER.info("interestAmount a {}", interestAmount);
|
| 3597 |
|
3602 |
|
| 3598 |
settledLoanStatement(LoanReferenceType.INTEREST, BigDecimal.valueOf(interestAmount),
|
3603 |
settledLoanStatement(LoanReferenceType.INTEREST, BigDecimal.valueOf(interestAmount),
|
| 3599 |
loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
|
3604 |
loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
|
| 3600 |
LocalDateTime.now());
|
3605 |
LocalDateTime.now());
|
| 3601 |
loan.setInterestPaid(loan.getInterestPaid().add(BigDecimal.valueOf(interestAmount).abs()));
|
3606 |
loan.setInterestPaid(loan.getInterestPaid().add(BigDecimal.valueOf(interestAmount).abs()));
|