etreschenkov 2025-04-22 14:45:58 +03:00
parent fa696013ce
commit 059872518e

View file

@ -63,15 +63,21 @@ public class ExecutionCurrencyController extends AbstractQueueController {
@RequestMapping(value = "/filter", method = RequestMethod.GET)
@ResponseBody
public CommonGetAllResponse getByFilter(@RequestParam(name = "pageSize", required = false) Optional<Integer> pageSize,
@RequestParam(name = "pageIndex", required = false) Optional<Integer> pageIndex) {
ImdgPredicate filter = imdgPredicateBuilder.and(
imdgPredicateBuilder.greatEqual("settlementDate", LocalDate.now()),
imdgPredicateBuilder.equals("side", Side.SELL.getKey()));
AtomicReference<Collection<Map<String, Object>>> all = new AtomicReference<>();
pageIndex.ifPresentOrElse(index ->
all.set(stateLoader.getAllMetaTransformWithPagination(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter,
pageSize.orElse(10_000), index)),
() -> all.set(stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter)));
@RequestParam(name = "pageIndex", required = false) Optional<Integer> pageIndex,
@RequestParam(name = "ccp", required = false) Optional<Boolean> ccp) {
ImdgPredicate settlementDateFilter = imdgPredicateBuilder.greatEqual("settlementDate", LocalDate.now());
ImdgPredicate sideFilter;
if (ccp.isPresent() && ccp.get()) {
sideFilter = imdgPredicateBuilder.alwaysTrue();
} else {
sideFilter = imdgPredicateBuilder.equals("side", Side.SELL.getKey());
}
ImdgPredicate filter = imdgPredicateBuilder.and(settlementDateFilter, sideFilter);
AtomicReference<Collection<Map<String, Object>>> all = new AtomicReference<>();
pageIndex.ifPresentOrElse(index ->
all.set(stateLoader.getAllMetaTransformWithPagination(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter,
pageSize.orElse(10_000), index)),
() -> all.set(stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter)));
CommonGetAllResponse response = new CommonGetAllResponse();
response.fromEntity(all.get());
return response;