FINERACT-2311: Add GET API for buy down fees related information
This commit is contained in:
committed by
Adam Saghy
parent
54f055d9c7
commit
ca3f63badf
+7
-19
@@ -63,7 +63,6 @@ import org.apache.fineract.portfolio.charge.exception.LoanChargeNotFoundExceptio
|
||||
import org.apache.fineract.portfolio.charge.service.ChargeReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanInstallmentChargeData;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanChargeReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -421,7 +420,7 @@ public class LoanChargesApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId loanChargeExternalId = ExternalIdFactory.produce(loanChargeExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedLoanChargeId = getResolvedLoanChargeId(loanChargeId, loanChargeExternalId);
|
||||
|
||||
final CommandWrapper commandRequest = new CommandWrapperBuilder().deleteLoanCharge(resolvedLoanId, resolvedLoanChargeId).build();
|
||||
@@ -438,7 +437,7 @@ public class LoanChargesApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId loanChargeExternalId = ExternalIdFactory.produce(loanChargeExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedLoanChargeId = getResolvedLoanChargeId(loanChargeId, loanChargeExternalId);
|
||||
|
||||
final LoanChargeData loanCharge = this.loanChargeReadPlatformService.retrieveLoanChargeDetails(resolvedLoanChargeId,
|
||||
@@ -457,7 +456,7 @@ public class LoanChargesApiResource {
|
||||
final String apiRequestBodyAsJson) {
|
||||
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
CommandProcessingResult result;
|
||||
if (CommandParameterUtil.is(commandParam, COMMAND_PAY)) {
|
||||
@@ -483,7 +482,7 @@ public class LoanChargesApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId loanChargeExternalId = ExternalIdFactory.produce(loanChargeExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedLoanChargeId = getResolvedLoanChargeId(loanChargeId, loanChargeExternalId);
|
||||
|
||||
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
|
||||
@@ -513,7 +512,7 @@ public class LoanChargesApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId loanChargeExternalId = ExternalIdFactory.produce(loanChargeExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedLoanChargeId = getResolvedLoanChargeId(loanChargeId, loanChargeExternalId);
|
||||
|
||||
final CommandWrapper commandRequest = new CommandWrapperBuilder().updateLoanCharge(resolvedLoanId, resolvedLoanChargeId)
|
||||
@@ -528,7 +527,7 @@ public class LoanChargesApiResource {
|
||||
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
final Collection<LoanChargeData> loanCharges = this.loanChargeReadPlatformService.retrieveLoanCharges(resolvedLoanId);
|
||||
|
||||
@@ -540,7 +539,7 @@ public class LoanChargesApiResource {
|
||||
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
final List<ChargeData> chargeOptions = this.chargeReadPlatformService.retrieveLoanAccountApplicableCharges(resolvedLoanId,
|
||||
new ChargeTimeType[] { ChargeTimeType.OVERDUE_INSTALLMENT });
|
||||
@@ -562,15 +561,4 @@ public class LoanChargesApiResource {
|
||||
return resolvedLoanChargeId;
|
||||
}
|
||||
|
||||
private Long getResolvedLoanId(final Long loanId, final ExternalId loanExternalId) {
|
||||
Long resolvedLoanId = loanId;
|
||||
if (resolvedLoanId == null) {
|
||||
loanExternalId.throwExceptionIfEmpty();
|
||||
resolvedLoanId = this.loanReadPlatformService.retrieveLoanIdByExternalId(loanExternalId);
|
||||
if (resolvedLoanId == null) {
|
||||
throw new LoanNotFoundException(loanExternalId);
|
||||
}
|
||||
}
|
||||
return resolvedLoanId;
|
||||
}
|
||||
}
|
||||
|
||||
+5
-19
@@ -91,8 +91,6 @@ public class LoanTransactionsApiResource {
|
||||
public static final String REAMORTIZE = "reAmortize";
|
||||
public static final String UNDO_REAMORTIZE = "undoReAmortize";
|
||||
public static final String CAPITALIZED_INCOME = "capitalizedIncome";
|
||||
public static final String CAPITALIZED_INCOME_ADJUSTMENT = "capitalizedIncomeAdjustment";
|
||||
public static final String CONTRACT_TERMINATION = "contractTermination";
|
||||
public static final String INTEREST_REFUND_COMMAND_VALUE = "interest-refund";
|
||||
private final Set<String> responseDataParameters = new HashSet<>(Arrays.asList("id", "type", "date", "currency", "amount", "externalId",
|
||||
LoanApiConstants.REVERSAL_EXTERNAL_ID_PARAMNAME, LoanApiConstants.REVERSED_ON_DATE_PARAMNAME));
|
||||
@@ -471,7 +469,7 @@ public class LoanTransactionsApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId transactionExternalId = ExternalIdFactory.produce(transactionExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedLoanTransactionId = getResolvedLoanTransactionId(transactionId, transactionExternalId);
|
||||
|
||||
LoanTransactionData transactionData = this.loanReadPlatformService.retrieveLoanTransaction(resolvedLoanId,
|
||||
@@ -552,7 +550,7 @@ public class LoanTransactionsApiResource {
|
||||
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
|
||||
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
CommandWrapper commandRequest = null;
|
||||
if (CommandParameterUtil.is(commandParam, "repayment")) {
|
||||
@@ -618,7 +616,7 @@ public class LoanTransactionsApiResource {
|
||||
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
LoanTransactionData transactionData;
|
||||
|
||||
if (CommandParameterUtil.is(commandParam, "repayment")) {
|
||||
@@ -714,7 +712,7 @@ public class LoanTransactionsApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId transactionExternalId = ExternalIdFactory.produce(transactionExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedTransactionId = getResolvedLoanTransactionId(transactionId, transactionExternalId);
|
||||
CommandWrapper commandRequest;
|
||||
if (CommandParameterUtil.is(commandParam, LoanApiConstants.CHARGEBACK_TRANSACTION_COMMAND)) {
|
||||
@@ -739,7 +737,7 @@ public class LoanTransactionsApiResource {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
ExternalId transactionExternalId = ExternalIdFactory.produce(transactionExternalIdStr);
|
||||
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Long resolvedTransactionId = getResolvedLoanTransactionId(transactionId, transactionExternalId);
|
||||
final CommandWrapper commandRequest = new CommandWrapperBuilder().undoWaiveChargeTransaction(resolvedLoanId, resolvedTransactionId)
|
||||
.build();
|
||||
@@ -759,18 +757,6 @@ public class LoanTransactionsApiResource {
|
||||
return resolvedLoanTransactionId;
|
||||
}
|
||||
|
||||
private Long getResolvedLoanId(final Long loanId, final ExternalId loanExternalId) {
|
||||
Long resolvedLoanId = loanId;
|
||||
if (resolvedLoanId == null) {
|
||||
loanExternalId.throwExceptionIfEmpty();
|
||||
resolvedLoanId = this.loanReadPlatformService.retrieveLoanIdByExternalId(loanExternalId);
|
||||
if (resolvedLoanId == null) {
|
||||
throw new LoanNotFoundException(loanExternalId);
|
||||
}
|
||||
}
|
||||
return resolvedLoanId;
|
||||
}
|
||||
|
||||
private Long getResolvedLoanIdWithExistsCheck(final Long loanId, final ExternalId loanExternalId) {
|
||||
if (loanId != null) {
|
||||
if (!loanReadPlatformService.existsByLoanId(loanId)) {
|
||||
|
||||
+11
-24
@@ -145,7 +145,6 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanSummaryBalancesRepository;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariationType;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRepaymentPeriodData;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanTemplateTypeRequiredException;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.NotSupportedLoanTemplateTypeException;
|
||||
import org.apache.fineract.portfolio.loanaccount.guarantor.data.GuarantorData;
|
||||
@@ -560,7 +559,6 @@ public class LoansApiResource {
|
||||
final CommandWrapper commandRequest = new CommandWrapperBuilder().createLoanApplication().withJson(apiRequestBodyAsJson).build();
|
||||
|
||||
final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
|
||||
|
||||
return this.toApiJsonSerializer.serialize(result);
|
||||
}
|
||||
|
||||
@@ -931,7 +929,7 @@ public class LoansApiResource {
|
||||
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
LoanApprovalData loanApprovalTemplate = null;
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
if (templateType == null) {
|
||||
final String errorMsg = "Loan template type must be provided";
|
||||
throw new LoanTemplateTypeRequiredException(errorMsg);
|
||||
@@ -947,7 +945,7 @@ public class LoansApiResource {
|
||||
final UriInfo uriInfo) {
|
||||
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
LoanAccountData loanBasicDetails = this.loanReadPlatformService.retrieveOne(resolvedLoanId);
|
||||
if (loanBasicDetails.isInterestRecalculationEnabled()) {
|
||||
Collection<CalendarData> interestRecalculationCalendarDatas = this.calendarReadPlatformService.retrieveCalendarsByEntity(
|
||||
@@ -1241,7 +1239,7 @@ public class LoansApiResource {
|
||||
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
|
||||
CommandWrapper commandRequest;
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
if (CommandParameterUtil.is(commandParam, LoanApiConstants.MARK_AS_FRAUD_COMMAND)) {
|
||||
commandRequest = builder.markAsFraud(resolvedLoanId).build();
|
||||
} else {
|
||||
@@ -1249,12 +1247,13 @@ public class LoansApiResource {
|
||||
}
|
||||
|
||||
final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
|
||||
|
||||
return this.toApiJsonSerializer.serialize(result);
|
||||
}
|
||||
|
||||
private String deleteLoanApplication(final Long loanId, final String loanExternalIdStr) {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
final CommandWrapper commandRequest = new CommandWrapperBuilder().deleteLoanApplication(resolvedLoanId).build();
|
||||
final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
|
||||
return this.toApiJsonSerializer.serialize(result);
|
||||
@@ -1263,7 +1262,7 @@ public class LoansApiResource {
|
||||
private String stateTransitions(final Long loanId, final String loanExternalIdStr, final String commandParam,
|
||||
final String apiRequestBodyAsJson) {
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
|
||||
CommandWrapper commandRequest = null;
|
||||
if (CommandParameterUtil.is(commandParam, "reject")) {
|
||||
@@ -1309,28 +1308,16 @@ public class LoansApiResource {
|
||||
private String getDelinquencyTagHistory(final Long loanId, final String loanExternalIdStr, final UriInfo uriInfo) {
|
||||
context.authenticatedUser().validateHasReadPermission("DELINQUENCY_TAGS");
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
final Collection<LoanDelinquencyTagHistoryData> loanDelinquencyTagHistoryData = this.delinquencyReadPlatformService
|
||||
.retrieveDelinquencyRangeHistory(resolvedLoanId);
|
||||
return this.jsonSerializerTagHistory.serialize(loanDelinquencyTagHistoryData);
|
||||
}
|
||||
|
||||
private Long getResolvedLoanId(final Long loanId, final ExternalId loanExternalId) {
|
||||
Long resolvedLoanId = loanId;
|
||||
if (resolvedLoanId == null) {
|
||||
loanExternalId.throwExceptionIfEmpty();
|
||||
resolvedLoanId = this.loanReadPlatformService.retrieveLoanIdByExternalId(loanExternalId);
|
||||
if (resolvedLoanId == null) {
|
||||
throw new LoanNotFoundException(loanExternalId);
|
||||
}
|
||||
}
|
||||
return resolvedLoanId;
|
||||
}
|
||||
|
||||
private String getLoanDelinquencyActions(final Long loanId, final String loanExternalIdStr, final UriInfo uriInfo) {
|
||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
final Collection<LoanDelinquencyAction> delinquencyActions = this.delinquencyReadPlatformService
|
||||
.retrieveLoanDelinquencyActions(resolvedLoanId);
|
||||
@@ -1340,7 +1327,7 @@ public class LoansApiResource {
|
||||
|
||||
private String createLoanDelinquencyAction(Long loanId, ExternalId loanExternalId, String apiRequestBodyAsJson) {
|
||||
context.authenticatedUser().validateHasCreatePermission(RESOURCE_NAME_FOR_DELINQUENCY_ACTION_PERMISSIONS);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
|
||||
CommandWrapperBuilder builder = new CommandWrapperBuilder().createDelinquencyAction(resolvedLoanId);
|
||||
builder.withJson(apiRequestBodyAsJson);
|
||||
@@ -1349,7 +1336,7 @@ public class LoansApiResource {
|
||||
}
|
||||
|
||||
private CommandProcessingResult modifyLoanApprovedAmount(Long loanId, ExternalId loanExternalId, String apiRequestBodyAsJson) {
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
|
||||
CommandWrapper commandRequest = builder.updateLoanApprovedAmount(resolvedLoanId).build();
|
||||
|
||||
@@ -1358,7 +1345,7 @@ public class LoansApiResource {
|
||||
|
||||
private List<LoanApprovedAmountHistoryData> getLoanApprovedAmountHistory(Long loanId, ExternalId loanExternalId) {
|
||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
Long resolvedLoanId = getResolvedLoanId(loanId, loanExternalId);
|
||||
Long resolvedLoanId = loanId == null ? loanReadPlatformService.getResolvedLoanId(loanExternalId) : loanId;
|
||||
Pageable sortedByCreationDate = Pageable.unpaged(Sort.by("createdDate").ascending());
|
||||
return loanApprovedAmountHistoryRepository.findAllByLoanId(resolvedLoanId, sortedByCreationDate);
|
||||
}
|
||||
|
||||
+2
-11
@@ -30,7 +30,6 @@ import org.apache.fineract.infrastructure.security.service.PlatformSecurityConte
|
||||
import org.apache.fineract.portfolio.loanaccount.api.pointintime.data.RetrieveLoansPointInTimeExternalIdsRequest;
|
||||
import org.apache.fineract.portfolio.loanaccount.api.pointintime.data.RetrieveLoansPointInTimeRequest;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanPointInTimeData;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanPointInTimeService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -56,9 +55,9 @@ public class LoansPointInTimeApiDelegate implements LoansPointInTimeApi {
|
||||
String locale) {
|
||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||
ExternalId loanExternalId = ExternalIdFactory.produce(loanExternalIdStr);
|
||||
Long loanId = resolveExternalId(loanExternalId);
|
||||
Long resolvedLoanId = loanReadPlatformService.getResolvedLoanId(loanExternalId);
|
||||
|
||||
return getLoanPointInTime(loanId, dateParam, dateFormat, locale);
|
||||
return getLoanPointInTime(resolvedLoanId, dateParam, dateFormat, locale);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -103,12 +102,4 @@ public class LoansPointInTimeApiDelegate implements LoansPointInTimeApi {
|
||||
return loanReadPlatformService.retrieveLoanIdsByExternalIds(loanExternalIds);
|
||||
}
|
||||
|
||||
private Long resolveExternalId(ExternalId loanExternalId) {
|
||||
loanExternalId.throwExceptionIfEmpty();
|
||||
Long resolvedLoanId = loanReadPlatformService.retrieveLoanIdByExternalId(loanExternalId);
|
||||
if (resolvedLoanId == null) {
|
||||
throw new LoanNotFoundException(loanExternalId);
|
||||
}
|
||||
return resolvedLoanId;
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -2469,6 +2469,19 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService, Loa
|
||||
interestRefundAmount, paymentTypeOptions, loan.getCurrency().toData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getResolvedLoanId(final ExternalId loanExternalId) {
|
||||
loanExternalId.throwExceptionIfEmpty();
|
||||
|
||||
final Long resolvedLoanId = retrieveLoanIdByExternalId(loanExternalId);
|
||||
|
||||
if (resolvedLoanId == null) {
|
||||
throw new LoanNotFoundException(loanExternalId);
|
||||
}
|
||||
|
||||
return resolvedLoanId;
|
||||
}
|
||||
|
||||
private LoanTransaction deriveDefaultInterestWaiverTransaction(final Loan loan) {
|
||||
final Money totalInterestOutstanding = loan.getTotalInterestOutstandingOnLoan();
|
||||
Money possibleInterestToWaive = totalInterestOutstanding.copy();
|
||||
|
||||
+9
@@ -105,6 +105,8 @@ import org.apache.fineract.portfolio.loanaccount.serialization.LoanUpdateCommand
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BulkLoansReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BulkLoansReadPlatformServiceImpl;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BuyDownFeePlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BuyDownFeeReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BuyDownFeeReadPlatformServiceImpl;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.BuyDownFeeWritePlatformServiceImpl;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.GLIMAccountInfoReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.GLIMAccountInfoReadPlatformServiceImpl;
|
||||
@@ -403,6 +405,13 @@ public class LoanAccountConfiguration {
|
||||
businessEventNotifierService, loanTransactionRelationRepository);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(BuyDownFeeReadPlatformService.class)
|
||||
public BuyDownFeeReadPlatformService buyDownFeeReadPlatformService(
|
||||
final LoanBuyDownFeeBalanceRepository loanBuyDownFeeBalanceRepository, final LoanRepository loanRepository) {
|
||||
return new BuyDownFeeReadPlatformServiceImpl(loanBuyDownFeeBalanceRepository, loanRepository);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(LoanWritePlatformService.class)
|
||||
public LoanWritePlatformService loanWritePlatformService(PlatformSecurityContext context,
|
||||
|
||||
Reference in New Issue
Block a user