FINERACT-2081: Chargeback reverse replay fails fix
This commit is contained in:
committed by
Adam Saghy
parent
620f60c650
commit
2092a9a911
+13
@@ -576,10 +576,23 @@ public class AdvancedPaymentScheduleTransactionProcessor extends AbstractLoanRep
|
|||||||
newLoanTransaction.getLoanTransactionToRepaymentScheduleMappings());
|
newLoanTransaction.getLoanTransactionToRepaymentScheduleMappings());
|
||||||
} else {
|
} else {
|
||||||
createNewTransaction(loanTransaction, newLoanTransaction, changedTransactionDetail);
|
createNewTransaction(loanTransaction, newLoanTransaction, changedTransactionDetail);
|
||||||
|
checkAndUpdateReplayedChargebackRelationWithReplayedTransaction(loanTransaction, newLoanTransaction, ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkAndUpdateReplayedChargebackRelationWithReplayedTransaction(LoanTransaction loanTransaction,
|
||||||
|
LoanTransaction newLoanTransaction, TransactionCtx ctx) {
|
||||||
|
// if chargeback is getting reverse-replayed
|
||||||
|
// find replayed transaction with CHARGEBACK relation with reversed chargeback transaction
|
||||||
|
// for replayed transaction, add relation to point to new Chargeback transaction
|
||||||
|
if (loanTransaction.getTypeOf().isChargeback()) {
|
||||||
|
LoanTransaction originalTransaction = findOriginalTransaction(newLoanTransaction, ctx);
|
||||||
|
originalTransaction.getLoanTransactionRelations()
|
||||||
|
.add(LoanTransactionRelation.linkToTransaction(originalTransaction, newLoanTransaction, CHARGEBACK));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void processSingleCharge(LoanCharge loanCharge, MonetaryCurrency currency, List<LoanRepaymentScheduleInstallment> installments,
|
private void processSingleCharge(LoanCharge loanCharge, MonetaryCurrency currency, List<LoanRepaymentScheduleInstallment> installments,
|
||||||
LocalDate disbursementDate) {
|
LocalDate disbursementDate) {
|
||||||
loanChargeProcessor.reprocess(currency, disbursementDate, installments, loanCharge);
|
loanChargeProcessor.reprocess(currency, disbursementDate, installments, loanCharge);
|
||||||
|
|||||||
Reference in New Issue
Block a user