This commit is contained in:
parent
210ca99bfc
commit
522f91a8f9
3 changed files with 26 additions and 14 deletions
|
|
@ -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<IssuerCompany> issuerCompanyList = request.getIssuerCompanyList();
|
||||
public void sendRequest(List<IssuerCompany> issuerCompanyList,
|
||||
List<IssuerCompanySymbols> issuerCompanySymbolsList,
|
||||
List<IssuerContact> issuerContactList,
|
||||
List<IssuerCompanyInfo> issuerCompanyInfoList) {
|
||||
for (IssuerCompany issuerCompany : issuerCompanyList) {
|
||||
try {
|
||||
UUID companyId = issuerCompany.getId();
|
||||
log.debug("Grouping by companyId: {}", companyId);
|
||||
List<IssuerCompanySymbols> issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId);
|
||||
List<IssuerContact> issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId);
|
||||
List<IssuerCompanySymbols> gpoupingSymbolsList = groupByCompanyId(issuerCompanySymbolsList, companyId);
|
||||
List<IssuerContact> gpoupingContactList = groupByCompanyId(issuerContactList, companyId);
|
||||
|
||||
List<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
|
||||
List<CompanySymbolNewRequest> companySymbolNewRequests = gpoupingSymbolsList.stream().
|
||||
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
|
||||
List<ContactNewRequest> contactNewRequests = issuerContactList.stream().
|
||||
List<ContactNewRequest> 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)
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue