-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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: Fix accrual activity reversal logic: prevent duplicate reverse-replay, copy external ID correctly #4430
base: develop
Are you sure you want to change the base?
Conversation
5be1775
to
8feb629
Compare
loanAccountService.saveLoanTransactionWithDataIntegrityViolationChecks(newLoanTransaction); | ||
loan.addLoanTransaction(newLoanTransaction); | ||
|
||
LoanAdjustTransactionBusinessEvent.Data data = new LoanAdjustTransactionBusinessEvent.Data(loanTransaction); | ||
data.setNewTransactionDetail(newLoanTransaction); | ||
businessEventNotifierService.notifyPostBusinessEvent(new LoanAdjustTransactionBusinessEvent(data)); | ||
} else { | ||
reverseAccrualActivityTransaction(loanTransaction); |
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.
Shouldn't we also updateExternalId for loanTransaction in this method (reverseAccrualActivityTransaction)?
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.
I was asking myself the same question, but it turns out that updateExternalId(null) was removed here.
@adamsaghy , please take a look.
8feb629
to
227aa7c
Compare
227aa7c
to
60d7e38
Compare
@@ -198,7 +199,8 @@ private void loanAccountDataV1Check(Class<? extends AbstractLoanEvent> eventClaz | |||
Long clientIdExpected = body.getClientId(); | |||
BigDecimal principalDisbursedActual = loanAccountDataV1.getSummary().getPrincipalDisbursed(); | |||
Double principalDisbursedExpectedDouble = body.getSummary().getPrincipalDisbursed(); | |||
BigDecimal principalDisbursedExpected = new BigDecimal(principalDisbursedExpectedDouble, MathContext.DECIMAL64); | |||
BigDecimal principalDisbursedExpected = new BigDecimal(principalDisbursedExpectedDouble, MathContext.DECIMAL64) |
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 the hardcoded hald_down? This looks incorrect to me
… reverse-replay, copy external ID correctly
… duplicate reverse-replay, copy external ID correctly Based on the work of @tamasszabo-dpc and @peter-kovacs-dpc
d2cb57f
to
3ef6de4
Compare
Description
Describe the changes made and why they were made.
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.