FINERACT-2315: Fix SMS Status Reports Error

This commit is contained in:
Pinchez25
2025-07-29 22:25:37 +02:00
committed by Arnold Gálovics
parent 7452ea2552
commit 00d613175c
3 changed files with 176 additions and 10 deletions
@@ -91,16 +91,18 @@ public class SmsApiResource {
public Page<SmsData> retrieveAllSmsByStatus(@PathParam("campaignId") final Long campaignId,
@BeanParam SmsRequestParam smsRequestParam) {
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
final SearchParameters searchParameters = SearchParameters.builder().limit(smsRequestParam.limit()).offset(smsRequestParam.offset())
.orderBy(smsRequestParam.orderBy()).sortOrder(smsRequestParam.sortOrder()).build();
final SearchParameters searchParameters = SearchParameters.builder().limit(smsRequestParam.getLimit())
.offset(smsRequestParam.getOffset()).orderBy(smsRequestParam.getOrderBy()).sortOrder(smsRequestParam.getSortOrder())
.build();
final DateFormat dateFormat = Optional.ofNullable(smsRequestParam.rawDateFormat()).map(DateFormat::new).orElse(null);
final LocalDate fromDate = Optional.ofNullable(smsRequestParam.fromDate())
.map(fromDateParam -> fromDateParam.getDate(FROM_DATE_PARAM, dateFormat, smsRequestParam.locale())).orElse(null);
final LocalDate toDate = Optional.ofNullable(smsRequestParam.toDate())
.map(toDateParam -> toDateParam.getDate(TO_DATE_PARAM, dateFormat, smsRequestParam.locale())).orElse(null);
final DateFormat dateFormat = Optional.ofNullable(smsRequestParam.getRawDateFormat()).map(DateFormat::new).orElse(null);
final LocalDate fromDate = Optional.ofNullable(smsRequestParam.getFromDate())
.map(fromDateParam -> fromDateParam.getDate(FROM_DATE_PARAM, dateFormat, smsRequestParam.getLocale())).orElse(null);
final LocalDate toDate = Optional.ofNullable(smsRequestParam.getToDate())
.map(toDateParam -> toDateParam.getDate(TO_DATE_PARAM, dateFormat, smsRequestParam.getLocale())).orElse(null);
return readPlatformService.retrieveSmsByStatus(campaignId, searchParameters, smsRequestParam.status().intValue(), fromDate, toDate);
return readPlatformService.retrieveSmsByStatus(campaignId, searchParameters, smsRequestParam.getStatus().intValue(), fromDate,
toDate);
}
@PUT
@@ -18,8 +18,39 @@
*/
package org.apache.fineract.infrastructure.sms.param;
import jakarta.ws.rs.QueryParam;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.fineract.infrastructure.core.api.DateParam;
public record SmsRequestParam(Long status, DateParam fromDate, DateParam toDate, String locale, String rawDateFormat, Integer offset,
Integer limit, String orderBy, String sortOrder) {
@Data
@NoArgsConstructor
public class SmsRequestParam {
@QueryParam("status")
private Long status;
@QueryParam("fromDate")
private DateParam fromDate;
@QueryParam("toDate")
private DateParam toDate;
@QueryParam("locale")
private String locale;
@QueryParam("dateFormat")
private String rawDateFormat;
@QueryParam("offset")
private Integer offset;
@QueryParam("limit")
private Integer limit;
@QueryParam("orderBy")
private String orderBy;
@QueryParam("sortOrder")
private String sortOrder;
}