From 5c0c900f6b53580173ac54acb77487359445da99 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 8 Sep 2023 15:39:25 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-521 --- .../execution/ExecutionDepositController.java | 15 +++++++++++++-- .../queue/execution/ExecutionFondController.java | 16 ++++++++++++++-- .../backendapi/service/IStateLoader.java | 2 ++ .../backendapi/service/impl/StateLoaderImpl.java | 10 ++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositController.java index fbd8a836f..c5d1cb6bd 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositController.java @@ -14,7 +14,11 @@ import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllRespo import ru.spcex.clearing.backendapi.service.IOperator; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import java.time.LocalDate; import java.util.Collection; import java.util.Map; @@ -22,11 +26,16 @@ import java.util.Map; @RequestMapping("/execution-deposits") public class ExecutionDepositController extends AbstractQueueController { private final IStateLoader stateLoader; + private final ImdgPredicateBuilder imdgPredicateBuilder; @Autowired - public ExecutionDepositController(IOperator operator, IStateLoader stateLoader) { + public ExecutionDepositController(IOperator operator, IStateLoader stateLoader, + ImdgProvider imdgProvider) { super(operator); this.stateLoader = stateLoader; + this.imdgPredicateBuilder = imdgProvider + .getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class) + .predicateBuilder(); } @ApiOperation(value = "get all ExecutionDeposits.") @@ -34,9 +43,11 @@ public class ExecutionDepositController extends AbstractQueueController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { + ImdgPredicate imdgPredicate = imdgPredicateBuilder.greatEqual("firstLegSettlementDate", LocalDate.now()); Collection> all = stateLoader.getAllMetaTransform( IMDGDistributedNames.Map_ExecutionDeposit, - ExecutionDeposit.class); + ExecutionDeposit.class, + imdgPredicate); CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); return response; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java index afce0778a..095dafa89 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java @@ -14,7 +14,11 @@ import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllRespo import ru.spcex.clearing.backendapi.service.IOperator; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import java.time.LocalDate; import java.util.Collection; import java.util.Map; @@ -22,11 +26,17 @@ import java.util.Map; @RequestMapping("/execution-fonds") public class ExecutionFondController extends AbstractQueueController { private final IStateLoader stateLoader; + private final ImdgPredicateBuilder imdgPredicateBuilder; @Autowired - public ExecutionFondController(IOperator operator, IStateLoader stateLoader) { + public ExecutionFondController(IOperator operator, + IStateLoader stateLoader, + ImdgProvider imdgProvider) { super(operator); this.stateLoader = stateLoader; + this.imdgPredicateBuilder = imdgProvider + .getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class) + .predicateBuilder(); } @ApiOperation(value = "get all ExecutionFond.") @@ -34,9 +44,11 @@ public class ExecutionFondController extends AbstractQueueController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { + ImdgPredicate imdgPredicate = imdgPredicateBuilder.greatEqual("settlementDate", LocalDate.now()); Collection> all = stateLoader.getAllMetaTransform( IMDGDistributedNames.Map_ExecutionFond, - ExecutionFond.class); + ExecutionFond.class, + imdgPredicate); CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); return response; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java index 837b525c8..098508554 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java @@ -1,6 +1,7 @@ package ru.spcex.clearing.backendapi.service; import ru.spcex.platform.classes.base.SpcexObjectBase; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import java.util.Collection; import java.util.Map; @@ -15,4 +16,5 @@ public interface IStateLoader { Collection> getAllMetaTransform(String mapName, Class clazz); Collection> getAllMetaTransformSpecificClass(String mapName, Class clazz); Collection> getAllMetaTransform(String mapName, Class clazz, Map> conditions); + Collection> getAllMetaTransform(String mapName, Class clazz, ImdgPredicate conditions); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/StateLoaderImpl.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/StateLoaderImpl.java index c6cab6002..a002dd5a2 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/StateLoaderImpl.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/StateLoaderImpl.java @@ -7,6 +7,7 @@ import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import java.util.Collection; import java.util.Map; @@ -59,6 +60,15 @@ public class StateLoaderImpl implements IStateLoader { return responseFactory.responseFromObjectCollection(all); } + @Override + public Collection> getAllMetaTransform(String mapName, + Class clazz, + ImdgPredicate conditions) { + Imdg imdg = getImdg(mapName, clazz); + Collection all = imdg.getCollectionObjectsByPredicate(conditions); + return responseFactory.responseFromObjectCollection(all); + } + @SuppressWarnings("unchecked") private Imdg getImdg(String mapName, Class clazz) { return (Imdg) allImdgMaps.computeIfAbsent(mapName, (mapName1) -> imdgProvider.getImdg(mapName, clazz));