| Line 157... |
Line 157... |
| 157 |
}
|
157 |
}
|
| 158 |
} else if (gateway != null && gateway.equals(Gateway.SDDIRECT)) {
|
158 |
} else if (gateway != null && gateway.equals(Gateway.SDDIRECT)) {
|
| 159 |
CreditAccount creditAccount = creditAccountRepository.selectByFofoIdAndGateway(retailerId,
|
159 |
CreditAccount creditAccount = creditAccountRepository.selectByFofoIdAndGateway(retailerId,
|
| 160 |
Gateway.SDDIRECT);
|
160 |
Gateway.SDDIRECT);
|
| 161 |
|
161 |
|
| - |
|
162 |
List<Loan> loans = loanRepository.selectActiveLoan(retailerId).stream()
|
| - |
|
163 |
.filter(x -> x.getDueDate().isBefore(LocalDateTime.now())).collect(Collectors.toList());
|
| - |
|
164 |
|
| 162 |
SDCreditRequirement sdCreditRequirement = sdCreditRequirementRepository.selectByFofoId(retailerId);
|
165 |
SDCreditRequirement sdCreditRequirement = sdCreditRequirementRepository.selectByFofoId(retailerId);
|
| 163 |
|
166 |
|
| 164 |
AccountStatusResponseOut accountStatusResponseOut = new AccountStatusResponseOut();
|
167 |
AccountStatusResponseOut accountStatusResponseOut = new AccountStatusResponseOut();
|
| 165 |
BigDecimal availability = BigDecimal.ZERO;
|
168 |
BigDecimal availability = BigDecimal.ZERO;
|
| 166 |
if (creditAccount != null) {
|
169 |
if (creditAccount != null) {
|
| Line 171... |
Line 174... |
| 171 |
log.info("availability {}", availability);
|
174 |
log.info("availability {}", availability);
|
| 172 |
accountStatusResponseOut.setBalanceAmount(availability);
|
175 |
accountStatusResponseOut.setBalanceAmount(availability);
|
| 173 |
|
176 |
|
| 174 |
}
|
177 |
}
|
| 175 |
|
178 |
|
| 176 |
if (availability.floatValue() > 0 && creditAccount.isActive()) {
|
179 |
if (availability.floatValue() > 0 && creditAccount.isActive() && loans.isEmpty()) {
|
| 177 |
accountStatusResponseOut.setStatus(EligibilityStatusEnum.SANCTION_AVAILABLE);
|
180 |
accountStatusResponseOut.setStatus(EligibilityStatusEnum.SANCTION_AVAILABLE);
|
| 178 |
accountStatusResponseOut.setRateOfInterest(creditAccount.getInterestRate());
|
181 |
accountStatusResponseOut.setRateOfInterest(creditAccount.getInterestRate());
|
| 179 |
accountStatusResponseOut.setCreditDays(sdCreditRequirement.getCreditDays());
|
182 |
accountStatusResponseOut.setCreditDays(sdCreditRequirement.getCreditDays());
|
| 180 |
} else {
|
183 |
} else {
|
| 181 |
accountStatusResponseOut.setStatus(EligibilityStatusEnum.IN_ELIGIBLE);
|
184 |
accountStatusResponseOut.setStatus(EligibilityStatusEnum.IN_ELIGIBLE);
|