Harsh-Srivastav123 opened a new pull request, #4443:
URL: https://github.com/apache/fineract/pull/4443
## Description
This PR refactors several loan transaction methods to improve code clarity,
maintainability, and performance. The changes include:
### 1. Refactoring `doPostLoanTransactionChecks`
- **Before:** A single method handling both loan status checks and resetting
the overpaid date.
- **After:**
- Extracted the status handling logic into `checkAndHandleLoanStatus`.
- Introduced `resetOverpaidDateIfNeeded` to manage the overpaid date reset
independently.
### 2. Optimizing `getLastUserTransactionDate`
- **Before:** Iterative loop to determine the latest transaction date.
- **After:**
- Adopted a Stream-based approach to filter valid transactions and obtain
the maximum date.
- Added `isValidTransaction` helper method to clearly define valid
transactions.
### 3. Simplifying `isChargeOffOnDate`
- **Before:** Used a ternary operator to check for null and compare dates.
- **After:**
- Rewritten as a concise boolean expression for enhanced readability.
These improvements modularize the logic, making the code easier to read,
maintain, and extend without altering existing functionality.
**JIRA Issue:**
[FINERACT-2080](https://issues.apache.org/jira/browse/FINERACT-2080)
(https://github.com/apache/fineract/pull/1284).
## 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.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]