FINERACT-2232: Loan account capitalized income transaction template
This commit is contained in:
committed by
Adam Saghy
parent
13c99f98ab
commit
205b39ddf0
+1
@@ -174,6 +174,7 @@ public interface LoanApiConstants {
|
||||
// Commands
|
||||
String CHARGEBACK_TRANSACTION_COMMAND = "chargeback";
|
||||
String MARK_AS_FRAUD_COMMAND = "markAsFraud";
|
||||
String CAPITALIZED_INCOME_TRANSACTION_COMMAND = "capitalizedIncome";
|
||||
|
||||
// Data Validator names
|
||||
String LOAN_FRAUD_DATAVALIDATOR_PREFIX = "loans.fraud";
|
||||
|
||||
+15
-1
@@ -75,7 +75,19 @@ final class LoanTransactionsApiResourceSwagger {
|
||||
public String displaySymbolValue;
|
||||
}
|
||||
|
||||
public GetLoansTransactionType transactionType;
|
||||
static final class GetPaymentTypeOptions {
|
||||
|
||||
private GetPaymentTypeOptions() {}
|
||||
|
||||
@Schema(example = "10")
|
||||
public Long id;
|
||||
@Schema(example = "check")
|
||||
public String name;
|
||||
@Schema(example = "1")
|
||||
public Integer position;
|
||||
}
|
||||
|
||||
public GetLoansTransactionType type;
|
||||
@Schema(example = "[2009, 8, 1]")
|
||||
public LocalDate date;
|
||||
public GetLoansTotal total;
|
||||
@@ -94,6 +106,8 @@ final class LoanTransactionsApiResourceSwagger {
|
||||
public GetLoanCurrency currency;
|
||||
|
||||
public List<GetLoanProductsChargeOffReasonOptions> chargeOffReasonOptions;
|
||||
|
||||
public List<GetPaymentTypeOptions> paymentTypeOptions;
|
||||
}
|
||||
|
||||
public static final class GetLoanCurrency {
|
||||
|
||||
+9
@@ -216,7 +216,16 @@ public class LoanTransactionData implements Serializable {
|
||||
loanTransactionData.externalId, loanTransactionData.transfer, loanTransactionData.fixedEmiAmount,
|
||||
loanTransactionData.outstandingLoanBalance, loanTransactionData.manuallyReversed, loanTransactionData.loanId,
|
||||
loanTransactionData.externalLoanId);
|
||||
}
|
||||
|
||||
public static LoanTransactionData templateOnTop(final LoanTransactionData loanTransactionData, final LoanTransactionEnumData typeOf) {
|
||||
return new LoanTransactionData(loanTransactionData.id, loanTransactionData.officeId, loanTransactionData.officeName, typeOf,
|
||||
loanTransactionData.paymentDetailData, loanTransactionData.currency, loanTransactionData.date, loanTransactionData.amount,
|
||||
loanTransactionData.netDisbursalAmount, loanTransactionData.principalPortion, loanTransactionData.interestPortion,
|
||||
loanTransactionData.feeChargesPortion, loanTransactionData.penaltyChargesPortion, loanTransactionData.overpaymentPortion,
|
||||
loanTransactionData.unrecognizedIncomePortion, loanTransactionData.paymentTypeOptions, loanTransactionData.externalId,
|
||||
loanTransactionData.transfer, loanTransactionData.fixedEmiAmount, loanTransactionData.outstandingLoanBalance,
|
||||
loanTransactionData.manuallyReversed, loanTransactionData.loanId, loanTransactionData.externalLoanId);
|
||||
}
|
||||
|
||||
@Default // Default constructor for mapper
|
||||
|
||||
+2
@@ -67,6 +67,7 @@ public class LoanTransactionEnumData implements Serializable {
|
||||
private final boolean accrualActivity;
|
||||
private final boolean interestRefund;
|
||||
private final boolean accrualAdjustment;
|
||||
private final boolean capitalizedIncome;
|
||||
|
||||
public LoanTransactionEnumData(final Long id, final String code, final String value) {
|
||||
this.id = id;
|
||||
@@ -103,6 +104,7 @@ public class LoanTransactionEnumData implements Serializable {
|
||||
this.reAmortize = Long.valueOf(LoanTransactionType.REAMORTIZE.getValue()).equals(this.id);
|
||||
this.interestRefund = Long.valueOf(LoanTransactionType.INTEREST_REFUND.getValue()).equals(this.id);
|
||||
this.accrualAdjustment = Long.valueOf(LoanTransactionType.ACCRUAL_ADJUSTMENT.getValue()).equals(this.id);
|
||||
this.capitalizedIncome = Long.valueOf(LoanTransactionType.CAPITALIZED_INCOME.getValue()).equals(this.id);
|
||||
}
|
||||
|
||||
public boolean isRepaymentType() {
|
||||
|
||||
+6
@@ -67,6 +67,7 @@ public enum LoanTransactionType {
|
||||
ACCRUAL_ACTIVITY(32, "loanTransactionType.accrualActivity"), //
|
||||
INTEREST_REFUND(33, "loanTransactionType.interestRefund"), //
|
||||
ACCRUAL_ADJUSTMENT(34, "loanTransactionType.accrualAdjustment"), //
|
||||
CAPITALIZED_INCOME(35, "loanTransactionType.capitalizedIncome"), //
|
||||
;
|
||||
|
||||
private final Integer value;
|
||||
@@ -117,6 +118,7 @@ public enum LoanTransactionType {
|
||||
case 32 -> LoanTransactionType.ACCRUAL_ACTIVITY;
|
||||
case 33 -> LoanTransactionType.INTEREST_REFUND;
|
||||
case 34 -> LoanTransactionType.ACCRUAL_ADJUSTMENT;
|
||||
case 35 -> LoanTransactionType.CAPITALIZED_INCOME;
|
||||
default -> LoanTransactionType.INVALID;
|
||||
};
|
||||
}
|
||||
@@ -233,4 +235,8 @@ public enum LoanTransactionType {
|
||||
public boolean isAccrualAdjustment() {
|
||||
return this == LoanTransactionType.ACCRUAL_ADJUSTMENT;
|
||||
}
|
||||
|
||||
public boolean isCapitalizedIncome() {
|
||||
return this == LoanTransactionType.CAPITALIZED_INCOME;
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -325,6 +325,8 @@ public final class LoanEnumerations {
|
||||
LoanTransactionType.INTEREST_REFUND.getCode(), "Interest Refund");
|
||||
case ACCRUAL_ADJUSTMENT -> new LoanTransactionEnumData(LoanTransactionType.ACCRUAL_ADJUSTMENT.getValue().longValue(),
|
||||
LoanTransactionType.ACCRUAL_ADJUSTMENT.getCode(), "Accrual Adjustment");
|
||||
case CAPITALIZED_INCOME -> new LoanTransactionEnumData(LoanTransactionType.CAPITALIZED_INCOME.getValue().longValue(),
|
||||
LoanTransactionType.CAPITALIZED_INCOME.getCode(), "Capitalized Income");
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user