diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java index 735c888e3..645aab6cb 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java @@ -21,7 +21,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import java.util.Collection; import java.util.HashMap; import java.util.List; -import java.util.Optional; +import java.util.Map; import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT; @@ -55,11 +55,11 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements public void coveredLiabilitiesRegisterNew(BaseRequest userRequest) { log.debug("LauncherCommandRequest received from {}", createRegistry_GRRT.topic()); //TODO FIX UP WHAT KIND OF TOPIC - HashMap sessionIdByCompanyId = new HashMap<>(); String sqlConditionForRegistry = getSqlForRegistries(); List registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry).stream().toList(); + //checking for duplicates Collection collection = coveredLiabilitiesRegisterMap.getAllValues(); collection.forEach(x -> sessionIdByCompanyId.put(x.getCompanyId(), x.getSessionId())); registries.forEach(x -> { @@ -72,14 +72,16 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements } private void insertCoveredLiabilitiesRegister(Registry registry) { + log.trace("insert CoveredLiabilitiesRegister in map..."); CoveredLiabilitiesRegister coveredLiabilitiesRegister = new CoveredLiabilitiesRegister(); - Optional company = companyMap.getAllValues().stream().filter((x) -> x.getId() == 1L).findFirst(); - Optional security = securityMap.getAllValues().stream().filter((x) -> x.getId().equals(registry.getSecurityId())).findFirst(); - String securitySymbol = security.map(Security::getSecuritySymbol).orElse(null); - String securityFullName = security.map(Security::getShortName).orElse(null); - String companyFullName = company.map(Company::getFullName).orElse(null); + Company company = companyMap.getSingleObjectByFieldValues(Map.of("id", 1L)); + Security security = securityMap.getSingleObjectByFieldValues(Map.of("id", registry.getSecurityId())); + String securitySymbol = security != null ? security.getSecuritySymbol() : null; + String securityFullName = security != null ? security.getShortName() : null; + String companyFullName = security != null ? company.getFullName() : null; coveredLiabilitiesRegister.setCompanyFullName(companyFullName); coveredLiabilitiesRegister.setSessionId(registry.getSessionId()); + coveredLiabilitiesRegister.setSecuritySymbol(securitySymbol); coveredLiabilitiesRegister.setSecurityFullName(securityFullName); coveredLiabilitiesRegister.setCompanyId(registry.getCompanyId()); coveredLiabilitiesRegister.setClearingCode(registry.getClearingCode()); @@ -87,9 +89,11 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements coveredLiabilitiesRegister.setAmount(registry.getBalance()); coveredLiabilitiesRegister.setClearingDate(registry.getClearingDate()); coveredLiabilitiesRegisterMap.insert(coveredLiabilitiesRegister); + log.debug("CoveredLiabilitiesRegister inserted successfully with id: {}", coveredLiabilitiesRegister.getId()); } - private String getSqlForRegistries(){ - return String.format("registryDesignation = '%s' and " + + + private String getSqlForRegistries() { + return String.format("registryDesignation = '%s' and " + "registryInstrumentType in ('%s','%s') and " + "registryCapacity = '%s' and " + "registryCode = '%s' and" +