SUPPORT-8975: add requestDto

This commit is contained in:
adel.ka 2025-03-06 20:41:55 +03:00
parent 1697d8302b
commit 90ff53cfc3
3 changed files with 52 additions and 10 deletions

View file

@ -0,0 +1,45 @@
package ru.micord.ervu.account_applications.component.model.dto;
import java.util.Map;
/**
* @author Adel Kalimullin
*/
public class LoadServiceRequest {
private Map<String, Object> searchFilter;
private int page;
private int perPage;
public LoadServiceRequest(Map<String, Object> searchFilter, int page, int perPage) {
this.searchFilter = searchFilter;
this.page = page;
this.perPage = perPage;
}
public LoadServiceRequest() {
}
public Map<String, Object> getSearchFilter() {
return searchFilter;
}
public void setSearchFilter(Map<String, Object> searchFilter) {
this.searchFilter = searchFilter;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPerPage() {
return perPage;
}
public void setPerPage(int perPage) {
this.perPage = perPage;
}
}

View file

@ -1,4 +1,4 @@
package ru.micord.ervu.account_applications.component.model;
package ru.micord.ervu.account_applications.component.model.dto;
import java.util.Set;

View file

@ -22,7 +22,8 @@ import org.springframework.stereotype.Service;
import org.springframework.web.util.UriComponentsBuilder;
import ru.micord.ervu.account_applications.component.exception.GridException;
import ru.micord.ervu.account_applications.component.field.persist.filter.StaticFilterComponent;
import ru.micord.ervu.account_applications.component.model.LoadServiceResponse;
import ru.micord.ervu.account_applications.component.model.dto.LoadServiceRequest;
import ru.micord.ervu.account_applications.component.model.dto.LoadServiceResponse;
import ru.micord.ervu.account_applications.component.model.Role;
import ru.micord.ervu.account_applications.component.model.User;
import ru.micord.ervu.account_applications.security.context.SecurityContext;
@ -75,8 +76,8 @@ public class ErvuUserGridLoadService extends Behavior implements GridService {
private LoadServiceResponse<User> loadDataFromApi(Integer offset, Integer limit,
Filter[] filters) {
try {
Map<String, Object> requestBodyMap = createRequestBody(offset, limit, filters);
String requestBody = objectMapper.writeValueAsString(requestBodyMap);
LoadServiceRequest loadServiceRequest = createLoadServiceRequest(offset, limit, filters);
String requestBody = objectMapper.writeValueAsString(loadServiceRequest);
HttpClient httpClient = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(httpTimeout))
@ -123,7 +124,7 @@ public class ErvuUserGridLoadService extends Behavior implements GridService {
return gridRows;
}
private Map<String, Object> createRequestBody(Integer offset, Integer limit, Filter[] filters) {
private LoadServiceRequest createLoadServiceRequest(Integer offset, Integer limit, Filter[] filters) {
int page = (offset / limit) + 1;
Map<String, Object> filterMap = new HashMap<>();
filterMap.put("domainId", securityContext.getDomainId());
@ -139,11 +140,7 @@ public class ErvuUserGridLoadService extends Behavior implements GridService {
);
}
return Map.of(
"searchFilter", filterMap,
"page", page,
"perPage", limit
);
return new LoadServiceRequest(filterMap, page, limit);
}
private void processField(Field field, User user, GridRow gridRow) {