From 26145a75871f92eee4d9768b353205cd638117d5 Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 25 Jul 2023 13:21:59 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-437 --- .../service/DepoBalanceRegisterService.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java index 70eab9abb..89bdcfd83 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java @@ -13,8 +13,12 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.enumeration.RegistryTradingParams; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder; import java.time.Instant; import java.util.Collection; @@ -49,11 +53,15 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial public void depoBalanceRegisterNew(BaseRequest userRequest) { log.debug("LauncherCommandRequest received from {}", createRegistry_GRRT.topic()); - String sqlForRegistries = getSqlForRegistries(userRequest.getRequestPayload().getCompanyId()); - Collection registries = registryMap.getCollectionObjectsBySQL(sqlForRegistries); - log.trace("Started searching depoBalanceRegister in register by companyId, sessionId..."); + if (userRequest.getRequestPayload().getCompanyId() == null ){ + log.debug("No companyId in LauncherCommandRequest.id={}", userRequest.getId()); + return; + } + ImdgPredicate prdctForRegistries = getPredicateForRegistries(userRequest.getRequestPayload().getCompanyId()); + Collection registries = registryMap.getCollectionObjectsByPredicate(prdctForRegistries); + log.trace("Started searching depoBalanceRegister in register by '{}'", prdctForRegistries); if (registries == null) { - log.debug("No registry with such conditions {}", sqlForRegistries); + log.debug("No registry with such conditions '{}'", prdctForRegistries); return; } registries.forEach((registry -> { @@ -83,8 +91,12 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial log.debug("inserted successfully DepoBalanceRegister entity with id: {}", depoBalanceRegister.getId()); } - private String getSqlForRegistries(Long companyId) { - log.trace("Started generating sql predicate for registries..."); - return String.format("companyId = '%s' registryCode LIKE 'AS_T'", companyId); + private ImdgPredicate getPredicateForRegistries(Long companyId) { + ImdgPredicateBuilder pb = registryMap.predicateBuilder(); + RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AS_T); + return pb.and( + pb.equals("companyId", companyId), + pb.sql(codeSql.build()) + ); } } \ No newline at end of file