-
Notifications
You must be signed in to change notification settings - Fork 2.2k
FINERACT-2181: Rework "createMissingAccrualTransactionDuringChargeOffIfNeeded" to avoid flushing and triggering business event as part of Transaction processor #4446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FINERACT-2181: Rework "createMissingAccrualTransactionDuringChargeOffIfNeeded" to avoid flushing and triggering business event as part of Transaction processor #4446
Conversation
| transactionChanges.add(new TransactionChangeData(oldTransaction, newTransaction)); | ||
| } | ||
|
|
||
| public void addTransactionChange(final TransactionChangeData transactionChangeData) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
addReversedTransaction and addTransactionChange is pretty much the same... should we rather use just 1 method and as parameter we can provide the old and new? (including if any of them is null?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
| final ChangedTransactionDetail changedTransactionDetail = loan.getTransactionProcessor().processLatestTransaction(loanTransaction, | ||
| new TransactionCtx(loan.getCurrency(), loan.getRepaymentScheduleInstallments(), loan.getActiveCharges(), | ||
| new MoneyHolder(loan.getTotalOverpaidAsMoney()), new ChangedTransactionDetail())); | ||
| if (!loan.isInterestRecalculationEnabled()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why to filter for disabled interest recalculation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed this
.../org/apache/fineract/portfolio/loanaccount/service/ReprocessLoanTransactionsServiceImpl.java
Outdated
Show resolved
Hide resolved
| if (transactionCtx instanceof ProgressiveTransactionCtx progressiveTransactionCtx) { | ||
| progressiveTransactionCtx.setChargedOff(true); | ||
| } | ||
| if (!loanTransaction.getLoan().isInterestRecalculationEnabled()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we filter here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed this
108d8f7 to
1335f5e
Compare
| private static final long serialVersionUID = 141481953116476081L; | ||
|
|
||
| @Column(name = CREATED_BY_DB_FIELD, nullable = false) | ||
| @Setter(onMethod = @__(@Override)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we do the same for created by id?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, done
4911f51 to
61299ca
Compare
…IfNeeded" to avoid flushing and triggering business event as part of Transaction processor
61299ca to
fa39880
Compare
Description
Rework "createMissingAccrualTransactionDuringChargeOffIfNeeded" to avoid flushing and triggering business event as part of Transaction processor.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
Write the commit message as per https://github.com/apache/fineract/#pull-requests
Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
Create/update unit or integration tests for verifying the changes made.
Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.
Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
Submission is not a "code dump". (Large changes can be made "in repository" via a branch. Ask on the developer mailing list for guidance, if required.)
FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.