From 522f91a8f9d9b6b43d90fc58c92148fc3c02618b Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Tue, 27 May 2025 11:52:17 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-849 --- .../service/IssueCompanyService.java | 25 ++++++++++--------- .../ListingDigitalFondProcessor.java | 10 +++++++- .../processor/ListingFondProcessor.java | 5 +++- 3 files changed, 26 insertions(+), 14 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 dedc8c53e..f64b8f1bd 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 @@ -1,11 +1,14 @@ package ru.spcex.clearing.gatewayapi.service; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import ru.spcex.clearing.gatewayapi.controller.inbound.request.WithCompanyId; -import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.FondListingsRequest; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerCompany; +import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerCompanyInfo; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerCompanySymbols; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerContact; import ru.spcex.clearing.gatewayapi.service.adapter.IssuerCompanyRequestAdapter; @@ -15,10 +18,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.SecurityMkrGatewa import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.platform.utils.log.ExceptionUtils; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - @Service public class IssueCompanyService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -32,25 +31,27 @@ public class IssueCompanyService { this.kafkaSender = kafkaSender; } - public void sendRequest(FondListingsRequest request) { - List issuerCompanyList = request.getIssuerCompanyList(); + public void sendRequest(List issuerCompanyList, + List issuerCompanySymbolsList, + List issuerContactList, + List issuerCompanyInfoList) { for (IssuerCompany issuerCompany : issuerCompanyList) { try { UUID companyId = issuerCompany.getId(); log.debug("Grouping by companyId: {}", companyId); - List issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId); - List issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId); + List gpoupingSymbolsList = groupByCompanyId(issuerCompanySymbolsList, companyId); + List gpoupingContactList = groupByCompanyId(issuerContactList, companyId); - List companySymbolNewRequests = issuerCompanySymbolsList.stream(). + List companySymbolNewRequests = gpoupingSymbolsList.stream(). map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList(); - List contactNewRequests = issuerContactList.stream(). + List contactNewRequests = gpoupingContactList.stream(). map(issuerCompanyRequestAdapter::toContactRequest).toList(); SecurityMkrGatewayRequest securityMkrGatewayRequest = new SecurityMkrGatewayRequest(); securityMkrGatewayRequest.setCompanyNewRequest(issuerCompanyRequestAdapter.toCompanyRequest(issuerCompany)); securityMkrGatewayRequest.setCompanySymbolNewRequests(companySymbolNewRequests); securityMkrGatewayRequest.setContactNewRequests(contactNewRequests); - request.getIssuerCompanyInfoList() + issuerCompanyInfoList .stream() .filter(info -> info.getCompanyId().equals(companyId)).findFirst() .map(issuerCompanyRequestAdapter::toCompanyInfoRequest) diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingDigitalFondProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingDigitalFondProcessor.java index 5cf8f074b..bd406e156 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingDigitalFondProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingDigitalFondProcessor.java @@ -5,17 +5,25 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.FondDigitalListingsRequest; import ru.spcex.clearing.gatewayapi.service.DigitalSecurityService; +import ru.spcex.clearing.gatewayapi.service.IssueCompanyService; @Service public class ListingDigitalFondProcessor { private final Logger log = LoggerFactory.getLogger(getClass()); private final DigitalSecurityService digitalSecurityService; + private final IssueCompanyService issueCompanyProcessor; - public ListingDigitalFondProcessor(DigitalSecurityService digitalSecurityService) { + public ListingDigitalFondProcessor(DigitalSecurityService digitalSecurityService, + IssueCompanyService issueCompanyProcessor) { this.digitalSecurityService = digitalSecurityService; + this.issueCompanyProcessor = issueCompanyProcessor; } public void process(FondDigitalListingsRequest request) { + issueCompanyProcessor.sendRequest(request.getIssuerCompanyList(), + request.getIssuerCompanySymbolsList(), + request.getIssuerContactList(), + request.getIssuerCompanyInfoList()); digitalSecurityService.sendRequest(request); log.debug("process FondListingsRequest done"); } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingFondProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingFondProcessor.java index a282b5020..9bce53348 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingFondProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingFondProcessor.java @@ -19,7 +19,10 @@ public class ListingFondProcessor { } public void process(FondListingsRequest request) { - issueCompanyProcessor.sendRequest(request); + issueCompanyProcessor.sendRequest(request.getIssuerCompanyList(), + request.getIssuerCompanySymbolsList(), + request.getIssuerContactList(), + request.getIssuerCompanyInfoList()); securityService.sendRequest(request); log.debug("process FondListingsRequest done"); }