From 3c0cc05d286ce8e06ef5d6f93dd46aea3f7bfe48 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 4 Jun 2024 18:41:56 +0300 Subject: [PATCH] =?UTF-8?q?backend-api=20"/registries"=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8E,=20=D0=B0=20=D1=82=D0=BE=20?= =?UTF-8?q?=D0=BE=D1=87=D0=B5=D0=BD=D1=8C=20=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D1=85=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B5=D0=B9=20(=D0=B8=D0=B7=2077000=20=D0=BD=D1=83?= =?UTF-8?q?=D0=B6=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BB=D0=BE=20300?= =?UTF-8?q?0).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../queue/register/RegistryController.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryController.java index f896bf8c2..8a9a88bba 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryController.java @@ -4,10 +4,13 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.registry.Registry; import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; import ru.spcex.clearing.backendapi.controller.request.cud.registry.*; @@ -18,7 +21,12 @@ import ru.spcex.clearing.backendapi.service.IOperator; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.platform.enumeration.RegistryDesignation; +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; import java.util.concurrent.ExecutionException; @@ -26,12 +34,17 @@ import java.util.concurrent.ExecutionException; @Controller @RequestMapping("/registries") public class RegistryController extends AbstractQueueController { + protected final Logger log = LoggerFactory.getLogger(getClass()); private final IStateLoader stateLoader; + private final ImdgPredicateBuilder predicateBuilder; @Autowired - public RegistryController(IOperator operator, IStateLoader stateLoader) { + public RegistryController(IOperator operator, IStateLoader stateLoader, ImdgProvider imdgProvider) { super(operator); this.stateLoader = stateLoader; + this.predicateBuilder = imdgProvider + .getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class) + .predicateBuilder(); } @ApiOperation(value = "get all registries.") @@ -39,9 +52,25 @@ public class RegistryController extends AbstractQueueController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { - Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_Registry, Registry.class); +// long t1 = System.currentTimeMillis(); + ImdgPredicate filter = predicateBuilder.or( + predicateBuilder.equals("registryDesignation", RegistryDesignation.A.getKey()), + predicateBuilder.equals("registryDesignation", RegistryDesignation.D.getKey()), + predicateBuilder.and( + predicateBuilder.or( + predicateBuilder.equals("registryDesignation", RegistryDesignation.O.getKey()), + predicateBuilder.equals("registryDesignation", RegistryDesignation.T.getKey()) + ), + predicateBuilder.greatEqual("settlementDate", LocalDate.now()) + ) + ); + Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_Registry, Registry.class, + filter); +// long t2 = System.currentTimeMillis(); +// log.info("Info select and format {} data {}", all.size(), t2 - t1); CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); +// log.info("Info select and format {} data {}", all.size(), System.currentTimeMillis() - t2); return response; }