From 997118ceb8ecf192059cffe011e8aeff9bc0a46a Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 12 Jul 2023 19:29:20 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B1=D0=B0=D0=B3=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IssueCompanyService.java | 41 +++++++----- .../gatewayapi/service/SecurityService.java | 31 +++++---- .../service/processor/CompanyProcessor.java | 65 ++++++++++--------- .../service/processor/ListingMMProcessor.java | 22 ++++--- 4 files changed, 86 insertions(+), 73 deletions(-) diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java index 91e4070d8..dedc8c53e 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java @@ -13,6 +13,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolNewR import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.SecurityMkrGatewayRequest; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.utils.log.ExceptionUtils; import java.util.List; import java.util.UUID; @@ -34,28 +35,32 @@ public class IssueCompanyService { public void sendRequest(FondListingsRequest request) { List issuerCompanyList = request.getIssuerCompanyList(); for (IssuerCompany issuerCompany : issuerCompanyList) { - UUID companyId = issuerCompany.getId(); - log.debug("Grouping by companyId: {}", companyId); - List issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId); - List issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId); + try { + UUID companyId = issuerCompany.getId(); + log.debug("Grouping by companyId: {}", companyId); + List issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId); + List issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId); - List companySymbolNewRequests = issuerCompanySymbolsList.stream(). - map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList(); - List contactNewRequests = issuerContactList.stream(). - map(issuerCompanyRequestAdapter::toContactRequest).toList(); + List companySymbolNewRequests = issuerCompanySymbolsList.stream(). + map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList(); + List contactNewRequests = issuerContactList.stream(). + map(issuerCompanyRequestAdapter::toContactRequest).toList(); - SecurityMkrGatewayRequest securityMkrGatewayRequest = new SecurityMkrGatewayRequest(); - securityMkrGatewayRequest.setCompanyNewRequest(issuerCompanyRequestAdapter.toCompanyRequest(issuerCompany)); - securityMkrGatewayRequest.setCompanySymbolNewRequests(companySymbolNewRequests); - securityMkrGatewayRequest.setContactNewRequests(contactNewRequests); - request.getIssuerCompanyInfoList() - .stream() - .filter(info -> info.getCompanyId().equals(companyId)).findFirst() - .map(issuerCompanyRequestAdapter::toCompanyInfoRequest) - .ifPresent(securityMkrGatewayRequest::setCompanyInfoUpdateRequest); + SecurityMkrGatewayRequest securityMkrGatewayRequest = new SecurityMkrGatewayRequest(); + securityMkrGatewayRequest.setCompanyNewRequest(issuerCompanyRequestAdapter.toCompanyRequest(issuerCompany)); + securityMkrGatewayRequest.setCompanySymbolNewRequests(companySymbolNewRequests); + securityMkrGatewayRequest.setContactNewRequests(contactNewRequests); + request.getIssuerCompanyInfoList() + .stream() + .filter(info -> info.getCompanyId().equals(companyId)).findFirst() + .map(issuerCompanyRequestAdapter::toCompanyInfoRequest) + .ifPresent(securityMkrGatewayRequest::setCompanyInfoUpdateRequest); - //todo реализовать на стороне security-service обработку и правильную группировку + //todo реализовать на стороне security-service обработку и правильную группировку // kafkaSender.sendRequestToQueue(Consts.DESTINATION_ISSUER_COMPANY_GATEWAY_REQUEST, securityMkrGatewayRequest); + } catch (Throwable e) { + log.error("{}", ExceptionUtils.getStackTrace(e)); + } } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java index 3685c037d..104937996 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java @@ -35,22 +35,22 @@ public class SecurityService { public void sendRequest(FondListingsRequest request) { List securityList = request.getSecurities(); for (FondSecurity security : securityList) { - log.debug("process security uuid: {}", security.getId()); - UUID securityId = security.getId(); - log.debug("Grouping by securityId: {}", securityId); - List incomeListings = groupByCompanyId(request.getListingList(), securityId); - List couponSchedules = groupByCompanyId(request.getCouponSchedules(), securityId); - List nominals = groupByCompanyId(request.getNominalList(), securityId); - - List listingRequests = incomeListings.stream(). - map(securityRequestAdapter::toIncomeListing).toList(); - List couponPeriodRequests = couponSchedules.stream(). - map(securityRequestAdapter::toCouponPeriodRequest).toList(); - List cashFlowRequests = nominals.stream(). - map(securityRequestAdapter::toFixedIncomeCashFlowRequest).toList(); - - SecurityFondGatewayRequest securityGatewayRequest; try { + log.debug("process security uuid: {}", security.getId()); + UUID securityId = security.getId(); + log.debug("Grouping by securityId: {}", securityId); + List incomeListings = groupByCompanyId(request.getListingList(), securityId); + List couponSchedules = groupByCompanyId(request.getCouponSchedules(), securityId); + List nominals = groupByCompanyId(request.getNominalList(), securityId); + + List listingRequests = incomeListings.stream(). + map(securityRequestAdapter::toIncomeListing).toList(); + List couponPeriodRequests = couponSchedules.stream(). + map(securityRequestAdapter::toCouponPeriodRequest).toList(); + List cashFlowRequests = nominals.stream(). + map(securityRequestAdapter::toFixedIncomeCashFlowRequest).toList(); + + SecurityFondGatewayRequest securityGatewayRequest; if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) { FixedIncomeSecurityNewRequest fixedIncomeSecurityNewRequest = securityRequestAdapter.toFixedIncomeSecurityRequest(security); securityGatewayRequest = new FixedIncomeGatewayRequest(fixedIncomeSecurityNewRequest); @@ -67,7 +67,6 @@ public class SecurityService { } catch (Throwable e) { log.error("{}", ExceptionUtils.getStackTrace(e)); } - } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java index eead7f7ec..2635f1704 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java @@ -10,6 +10,7 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.*; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.utils.log.ExceptionUtils; import java.util.List; import java.util.UUID; @@ -31,39 +32,43 @@ public class CompanyProcessor { public void process(CompaniesRequest request) { List companyList = request.getCompanyList(); for (Company memberCompany : companyList) { - UUID companyId = memberCompany.getId(); - log.debug("Grouping by companyId: {}", companyId); - List companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId); - List companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId); - List contacts = groupByCompanyId(request.getContactList(), companyId); - List profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId); - List clients = groupByCompanyId(request.getClientList(), companyId); + try { + UUID companyId = memberCompany.getId(); + log.debug("Grouping by companyId: {}", companyId); + List companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId); + List companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId); + List contacts = groupByCompanyId(request.getContactList(), companyId); + List profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId); + List clients = groupByCompanyId(request.getClientList(), companyId); - List companySymbolNewRequests = companySymbols.stream(). - map(companyRequestAdapter::toCompanySymbolsRequest).toList(); - List contactNewRequests = contacts.stream(). - map(companyRequestAdapter::toContactRequest).toList(); - List profileDocumentNewRequests = profileDocuments.stream(). - map(companyRequestAdapter::toProfileDocumentRequest).toList(); - List clientCodeNewRequests = clients.stream(). - map(companyRequestAdapter::toClientRequest).toList(); - List categories = companyClearingCategories.stream(). - map(companyRequestAdapter::toCategoryRequest).toList(); + List companySymbolNewRequests = companySymbols.stream(). + map(companyRequestAdapter::toCompanySymbolsRequest).toList(); + List contactNewRequests = contacts.stream(). + map(companyRequestAdapter::toContactRequest).toList(); + List profileDocumentNewRequests = profileDocuments.stream(). + map(companyRequestAdapter::toProfileDocumentRequest).toList(); + List clientCodeNewRequests = clients.stream(). + map(companyRequestAdapter::toClientRequest).toList(); + List categories = companyClearingCategories.stream(). + map(companyRequestAdapter::toCategoryRequest).toList(); - CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest(); - companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany)); - request.getCompanyInfoList() - .stream() - .filter(info -> info.getCompanyId().equals(companyId)).findFirst() - .map(companyRequestAdapter::toCompanyInfoRequest) - .ifPresent(companyGatewayRequest::setCompanyInfo); - companyGatewayRequest.setCompanySymbols(companySymbolNewRequests); - companyGatewayRequest.setContacts(contactNewRequests); - companyGatewayRequest.setProfileDocuments(profileDocumentNewRequests); - companyGatewayRequest.setClientCodes(clientCodeNewRequests); - companyGatewayRequest.setCategories(categories); + CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest(); + companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany)); + request.getCompanyInfoList() + .stream() + .filter(info -> info.getCompanyId().equals(companyId)).findFirst() + .map(companyRequestAdapter::toCompanyInfoRequest) + .ifPresent(companyGatewayRequest::setCompanyInfo); + companyGatewayRequest.setCompanySymbols(companySymbolNewRequests); + companyGatewayRequest.setContacts(contactNewRequests); + companyGatewayRequest.setProfileDocuments(profileDocumentNewRequests); + companyGatewayRequest.setClientCodes(clientCodeNewRequests); + companyGatewayRequest.setCategories(categories); - kafkaSender.sendRequestToQueue(Consts.DESTINATION_COMPANY_GATEWAY_REQUEST, companyGatewayRequest); + kafkaSender.sendRequestToQueue(Consts.DESTINATION_COMPANY_GATEWAY_REQUEST, companyGatewayRequest); + } catch (Throwable e) { + log.error("{}", ExceptionUtils.getStackTrace(e)); + } } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java index 9220e4a4d..db61f6561 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java @@ -10,6 +10,7 @@ import ru.spcex.clearing.gatewayapi.service.adapter.MoneyMarketSecurityRequestAd import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.utils.log.ExceptionUtils; import java.util.List; import java.util.UUID; @@ -30,16 +31,19 @@ public class ListingMMProcessor { public void process(MMListingsRequest request) { List exchangeInstrumentList = request.getExchangeInstrumentList(); for (ExchangeInstrument exchangeInstrument : exchangeInstrumentList) { - UUID exchangeInstrumentId = exchangeInstrument.getId(); - log.debug("Process exchangeInstrumentId : {}", exchangeInstrumentId); - if (StringUtils.isEmpty(exchangeInstrument.getCode()) || exchangeInstrument.getCode().length() < 6) { - log.warn("Incorrect code : {}, skip record", exchangeInstrument.getCode()); + try { + UUID exchangeInstrumentId = exchangeInstrument.getId(); + log.debug("Process exchangeInstrumentId : {}", exchangeInstrumentId); + if (StringUtils.isEmpty(exchangeInstrument.getCode()) || exchangeInstrument.getCode().length() < 6) { + log.warn("Incorrect code : {}, skip record", exchangeInstrument.getCode()); + continue; + } + MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest = moneyMarketSecurityRequestAdapter + .toMoneyMarketSecurityNewRequest(exchangeInstrument); + kafkaSender.sendRequestToQueue(Consts.DESTINATION_GATEWAY_MONEY_MARKET_SECURITY, moneyMarketSecurityNewRequest); + } catch (Throwable e) { + log.error("{}", ExceptionUtils.getStackTrace(e)); } - - MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest = moneyMarketSecurityRequestAdapter - .toMoneyMarketSecurityNewRequest(exchangeInstrument); - - kafkaSender.sendRequestToQueue(Consts.DESTINATION_GATEWAY_MONEY_MARKET_SECURITY, moneyMarketSecurityNewRequest); } } } From 43c15d193b35ef158980fc72fc7e32b6e8a961a3 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 13 Jul 2023 16:40:47 +0300 Subject: [PATCH 2/4] =?UTF-8?q?strades=20import=20operation=3D=D0=BA=D1=83?= =?UTF-8?q?=D0=BF=D0=BB=D1=8F/=D0=BF=D1=80=D0=BE=D0=B4=D0=B0=D0=B6=D0=B0?= =?UTF-8?q?=20->=20B/S?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../importer/services/TradeImporterService.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index 5499fd324..45b111e5b 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -13,6 +13,7 @@ import ru.clearing.classes.statics.data.misc.STrades; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.utilities.STradesImportedRequest; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.enumeration.Side; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.enumeration.EnumMessage; @@ -122,6 +123,16 @@ public class TradeImporterService { } } + private static String mapOperation(String fromDb) { + if (fromDb == null) return null; + if ("Купля".equalsIgnoreCase(fromDb)) { + return Side.BUY.getKey(); + } else if ("Продажа".equalsIgnoreCase(fromDb)) { + return Side.SELL.getKey(); + } + return fromDb; + } + public STrades getSTradesFromImdg(STrades tradesDb, Imdg sTradesImdg) { return sTradesImdg.getSingleObjectByFieldValues(Map.of("tradeDate", tradesDb.getTradeDate(), "tradeNum", tradesDb.getTradeNum(), @@ -139,7 +150,8 @@ public class TradeImporterService { public STrades readSTrades(ResultSet resultSet) throws SQLException { STrades sTrades = new STrades(); sTrades.setTradeNum(resultSet.getObject("TradeNum", Long.class)); - sTrades.setOperation(resultSet.getObject("Operation", String.class)); + String operation = resultSet.getObject("Operation", String.class); + sTrades.setOperation(mapOperation(operation)); sTrades.setClassCode(resultSet.getObject("ClassCode", String.class)); sTrades.setTradeDate(getLocalDateFromSqlDate(resultSet, "TradeDate")); sTrades.setSecCode(resultSet.getObject("SecCode", String.class)); From b3c58b044271859d5dbf99a452b59b4ece34a528 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 13 Jul 2023 14:08:35 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0=20=D1=81=D0=BE=D0=B7?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D1=87=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BE=20sdf01/sdf08?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/service/ClearingAccountService.java | 12 ++++++++++++ .../clearing/account/service/DepoAccountService.java | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index cd26a0eef..eadd0d93b 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -232,6 +232,18 @@ public class ClearingAccountService extends QueueConsumer implements Initializin } } + if (accountImdg.getFirstObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Clrn.getKey(), accountReq.getAccount())) != null) { + log.debug("Account {} already exists", accountReq.getAccount()); + { + AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); + responsePart.setSdfId(accountReq.getSdfId()); + responsePart.setErrorCode(null); + responsePart.setErrorText(null); + accountToStatement.add(responsePart); + continue accountsLoop; + } + } + Long clearingAccountId = -1L; Long accountId = -1L; ClearingAccount clearingAccount = null; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java index 710a0ed13..c3d0b16ce 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java @@ -168,6 +168,17 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea continue accountsLoop; } } + if (accountImdg.getFirstObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Depo.getKey(), accountReq.getAccount())) != null) { + log.debug("Account {} already exists", accountReq.getAccount()); + { + AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); + responsePart.setSdfId(accountReq.getSdfId()); + responsePart.setErrorCode(null); + responsePart.setErrorText(null); + accountToStatement.add(responsePart); + continue accountsLoop; + } + } Long depoAccountId = -1L; Long accountId = -1L; From 85a4cc95fe987e15cc99a7bbac926d1aa668f159 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 13 Jul 2023 17:42:47 +0300 Subject: [PATCH 4/4] cherry-pick fix --- .../spcex/clearing/account/service/ClearingAccountService.java | 2 +- .../ru/spcex/clearing/account/service/DepoAccountService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index eadd0d93b..9f8f96a8a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -232,7 +232,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin } } - if (accountImdg.getFirstObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Clrn.getKey(), accountReq.getAccount())) != null) { + if (accountImdg.getSingleObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Clrn.getKey(), accountReq.getAccount())) != null) { log.debug("Account {} already exists", accountReq.getAccount()); { AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java index c3d0b16ce..a1f174922 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java @@ -168,7 +168,7 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea continue accountsLoop; } } - if (accountImdg.getFirstObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Depo.getKey(), accountReq.getAccount())) != null) { + if (accountImdg.getSingleObjectBySQL("accountType = '%s' and account = '%s'".formatted(AccountType.Depo.getKey(), accountReq.getAccount())) != null) { log.debug("Account {} already exists", accountReq.getAccount()); { AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart();