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;
|
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.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.spcex.clearing.gatewayapi.controller.inbound.request.WithCompanyId;
|
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.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.IssuerCompanySymbols;
|
||||||
import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerContact;
|
import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IssuerContact;
|
||||||
import ru.spcex.clearing.gatewayapi.service.adapter.IssuerCompanyRequestAdapter;
|
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.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class IssueCompanyService {
|
public class IssueCompanyService {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
@ -32,25 +31,27 @@ public class IssueCompanyService {
|
||||||
this.kafkaSender = kafkaSender;
|
this.kafkaSender = kafkaSender;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRequest(FondListingsRequest request) {
|
public void sendRequest(List<IssuerCompany> issuerCompanyList,
|
||||||
List<IssuerCompany> issuerCompanyList = request.getIssuerCompanyList();
|
List<IssuerCompanySymbols> issuerCompanySymbolsList,
|
||||||
|
List<IssuerContact> issuerContactList,
|
||||||
|
List<IssuerCompanyInfo> issuerCompanyInfoList) {
|
||||||
for (IssuerCompany issuerCompany : issuerCompanyList) {
|
for (IssuerCompany issuerCompany : issuerCompanyList) {
|
||||||
try {
|
try {
|
||||||
UUID companyId = issuerCompany.getId();
|
UUID companyId = issuerCompany.getId();
|
||||||
log.debug("Grouping by companyId: {}", companyId);
|
log.debug("Grouping by companyId: {}", companyId);
|
||||||
List<IssuerCompanySymbols> issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId);
|
List<IssuerCompanySymbols> gpoupingSymbolsList = groupByCompanyId(issuerCompanySymbolsList, companyId);
|
||||||
List<IssuerContact> issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId);
|
List<IssuerContact> gpoupingContactList = groupByCompanyId(issuerContactList, companyId);
|
||||||
|
|
||||||
List<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
|
List<CompanySymbolNewRequest> companySymbolNewRequests = gpoupingSymbolsList.stream().
|
||||||
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
|
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
|
||||||
List<ContactNewRequest> contactNewRequests = issuerContactList.stream().
|
List<ContactNewRequest> contactNewRequests = gpoupingContactList.stream().
|
||||||
map(issuerCompanyRequestAdapter::toContactRequest).toList();
|
map(issuerCompanyRequestAdapter::toContactRequest).toList();
|
||||||
|
|
||||||
SecurityMkrGatewayRequest securityMkrGatewayRequest = new SecurityMkrGatewayRequest();
|
SecurityMkrGatewayRequest securityMkrGatewayRequest = new SecurityMkrGatewayRequest();
|
||||||
securityMkrGatewayRequest.setCompanyNewRequest(issuerCompanyRequestAdapter.toCompanyRequest(issuerCompany));
|
securityMkrGatewayRequest.setCompanyNewRequest(issuerCompanyRequestAdapter.toCompanyRequest(issuerCompany));
|
||||||
securityMkrGatewayRequest.setCompanySymbolNewRequests(companySymbolNewRequests);
|
securityMkrGatewayRequest.setCompanySymbolNewRequests(companySymbolNewRequests);
|
||||||
securityMkrGatewayRequest.setContactNewRequests(contactNewRequests);
|
securityMkrGatewayRequest.setContactNewRequests(contactNewRequests);
|
||||||
request.getIssuerCompanyInfoList()
|
issuerCompanyInfoList
|
||||||
.stream()
|
.stream()
|
||||||
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
||||||
.map(issuerCompanyRequestAdapter::toCompanyInfoRequest)
|
.map(issuerCompanyRequestAdapter::toCompanyInfoRequest)
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,25 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.FondDigitalListingsRequest;
|
import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.FondDigitalListingsRequest;
|
||||||
import ru.spcex.clearing.gatewayapi.service.DigitalSecurityService;
|
import ru.spcex.clearing.gatewayapi.service.DigitalSecurityService;
|
||||||
|
import ru.spcex.clearing.gatewayapi.service.IssueCompanyService;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ListingDigitalFondProcessor {
|
public class ListingDigitalFondProcessor {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final DigitalSecurityService digitalSecurityService;
|
private final DigitalSecurityService digitalSecurityService;
|
||||||
|
private final IssueCompanyService issueCompanyProcessor;
|
||||||
|
|
||||||
public ListingDigitalFondProcessor(DigitalSecurityService digitalSecurityService) {
|
public ListingDigitalFondProcessor(DigitalSecurityService digitalSecurityService,
|
||||||
|
IssueCompanyService issueCompanyProcessor) {
|
||||||
this.digitalSecurityService = digitalSecurityService;
|
this.digitalSecurityService = digitalSecurityService;
|
||||||
|
this.issueCompanyProcessor = issueCompanyProcessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void process(FondDigitalListingsRequest request) {
|
public void process(FondDigitalListingsRequest request) {
|
||||||
|
issueCompanyProcessor.sendRequest(request.getIssuerCompanyList(),
|
||||||
|
request.getIssuerCompanySymbolsList(),
|
||||||
|
request.getIssuerContactList(),
|
||||||
|
request.getIssuerCompanyInfoList());
|
||||||
digitalSecurityService.sendRequest(request);
|
digitalSecurityService.sendRequest(request);
|
||||||
log.debug("process FondListingsRequest done");
|
log.debug("process FondListingsRequest done");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,10 @@ public class ListingFondProcessor {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void process(FondListingsRequest request) {
|
public void process(FondListingsRequest request) {
|
||||||
issueCompanyProcessor.sendRequest(request);
|
issueCompanyProcessor.sendRequest(request.getIssuerCompanyList(),
|
||||||
|
request.getIssuerCompanySymbolsList(),
|
||||||
|
request.getIssuerContactList(),
|
||||||
|
request.getIssuerCompanyInfoList());
|
||||||
securityService.sendRequest(request);
|
securityService.sendRequest(request);
|
||||||
log.debug("process FondListingsRequest done");
|
log.debug("process FondListingsRequest done");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue