feat: accounts list — active-only filter, date range & as-on-date search (backend)

- SearchParameters: added fromDate, toDate, asOnDate (LocalDate) fields with hasX() helpers
- SavingsAccountsApiResource: added status, fromDate, toDate, asOnDate query params
- SavingsAccountReadPlatformServiceImpl: resolveStatusEnum(), date filters on activatedon_date, default ORDER BY id DESC
- CurrentAccountsApiResource + service: same filters on ca.status_enum and ca.activatedon_date
- DepositAccountReadPlatformService (interface): new retrieveAllPaged overload with date/status params
- DepositAccountReadPlatformServiceImpl: resolveStatusEnum(), date filters, default ORDER BY id DESC for FD/RD
- FixedDepositAccountsApiResource + RecurringDepositAccountsApiResource: pass new params to service

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jaanu423
2026-05-21 13:56:31 +05:30
co-authored by Claude Sonnet 4.6
parent ce0fb18eeb
commit 9f627bde61
10 changed files with 223 additions and 13 deletions
@@ -18,6 +18,7 @@
*/
package org.apache.fineract.infrastructure.core.service;
import java.time.LocalDate;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -58,6 +59,21 @@ public class SearchParameters {
@Getter(AccessLevel.NONE)
private Boolean isSelfUser;
private Integer legalForm;
private LocalDate fromDate;
private LocalDate toDate;
private LocalDate asOnDate;
public boolean hasFromDate() {
return this.fromDate != null;
}
public boolean hasToDate() {
return this.toDate != null;
}
public boolean hasAsOnDate() {
return this.asOnDate != null;
}
public Integer getLimit() {
if (limit == null) {