поправлены баги при создании инструментов
This commit is contained in:
parent
97322f6e0f
commit
997118ceb8
4 changed files with 86 additions and 73 deletions
|
|
@ -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.ContactNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.SecurityMkrGatewayRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.SecurityMkrGatewayRequest;
|
||||||
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 java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -34,28 +35,32 @@ public class IssueCompanyService {
|
||||||
public void sendRequest(FondListingsRequest request) {
|
public void sendRequest(FondListingsRequest request) {
|
||||||
List<IssuerCompany> issuerCompanyList = request.getIssuerCompanyList();
|
List<IssuerCompany> issuerCompanyList = request.getIssuerCompanyList();
|
||||||
for (IssuerCompany issuerCompany : issuerCompanyList) {
|
for (IssuerCompany issuerCompany : issuerCompanyList) {
|
||||||
UUID companyId = issuerCompany.getId();
|
try {
|
||||||
log.debug("Grouping by companyId: {}", companyId);
|
UUID companyId = issuerCompany.getId();
|
||||||
List<IssuerCompanySymbols> issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId);
|
log.debug("Grouping by companyId: {}", companyId);
|
||||||
List<IssuerContact> issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId);
|
List<IssuerCompanySymbols> issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId);
|
||||||
|
List<IssuerContact> issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId);
|
||||||
|
|
||||||
List<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
|
List<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
|
||||||
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
|
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
|
||||||
List<ContactNewRequest> contactNewRequests = issuerContactList.stream().
|
List<ContactNewRequest> contactNewRequests = issuerContactList.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()
|
request.getIssuerCompanyInfoList()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
||||||
.map(issuerCompanyRequestAdapter::toCompanyInfoRequest)
|
.map(issuerCompanyRequestAdapter::toCompanyInfoRequest)
|
||||||
.ifPresent(securityMkrGatewayRequest::setCompanyInfoUpdateRequest);
|
.ifPresent(securityMkrGatewayRequest::setCompanyInfoUpdateRequest);
|
||||||
|
|
||||||
//todo реализовать на стороне security-service обработку и правильную группировку
|
//todo реализовать на стороне security-service обработку и правильную группировку
|
||||||
// kafkaSender.sendRequestToQueue(Consts.DESTINATION_ISSUER_COMPANY_GATEWAY_REQUEST, securityMkrGatewayRequest);
|
// kafkaSender.sendRequestToQueue(Consts.DESTINATION_ISSUER_COMPANY_GATEWAY_REQUEST, securityMkrGatewayRequest);
|
||||||
|
} catch (Throwable e) {
|
||||||
|
log.error("{}", ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,22 +35,22 @@ public class SecurityService {
|
||||||
public void sendRequest(FondListingsRequest request) {
|
public void sendRequest(FondListingsRequest request) {
|
||||||
List<FondSecurity> securityList = request.getSecurities();
|
List<FondSecurity> securityList = request.getSecurities();
|
||||||
for (FondSecurity security : securityList) {
|
for (FondSecurity security : securityList) {
|
||||||
log.debug("process security uuid: {}", security.getId());
|
|
||||||
UUID securityId = security.getId();
|
|
||||||
log.debug("Grouping by securityId: {}", securityId);
|
|
||||||
List<IncomeListing> incomeListings = groupByCompanyId(request.getListingList(), securityId);
|
|
||||||
List<CouponSchedule> couponSchedules = groupByCompanyId(request.getCouponSchedules(), securityId);
|
|
||||||
List<Nominal> nominals = groupByCompanyId(request.getNominalList(), securityId);
|
|
||||||
|
|
||||||
List<ListingNewRequest> listingRequests = incomeListings.stream().
|
|
||||||
map(securityRequestAdapter::toIncomeListing).toList();
|
|
||||||
List<CouponPeriodNewRequest> couponPeriodRequests = couponSchedules.stream().
|
|
||||||
map(securityRequestAdapter::toCouponPeriodRequest).toList();
|
|
||||||
List<FixedIncomeCashFlowNewRequest> cashFlowRequests = nominals.stream().
|
|
||||||
map(securityRequestAdapter::toFixedIncomeCashFlowRequest).toList();
|
|
||||||
|
|
||||||
SecurityFondGatewayRequest securityGatewayRequest;
|
|
||||||
try {
|
try {
|
||||||
|
log.debug("process security uuid: {}", security.getId());
|
||||||
|
UUID securityId = security.getId();
|
||||||
|
log.debug("Grouping by securityId: {}", securityId);
|
||||||
|
List<IncomeListing> incomeListings = groupByCompanyId(request.getListingList(), securityId);
|
||||||
|
List<CouponSchedule> couponSchedules = groupByCompanyId(request.getCouponSchedules(), securityId);
|
||||||
|
List<Nominal> nominals = groupByCompanyId(request.getNominalList(), securityId);
|
||||||
|
|
||||||
|
List<ListingNewRequest> listingRequests = incomeListings.stream().
|
||||||
|
map(securityRequestAdapter::toIncomeListing).toList();
|
||||||
|
List<CouponPeriodNewRequest> couponPeriodRequests = couponSchedules.stream().
|
||||||
|
map(securityRequestAdapter::toCouponPeriodRequest).toList();
|
||||||
|
List<FixedIncomeCashFlowNewRequest> cashFlowRequests = nominals.stream().
|
||||||
|
map(securityRequestAdapter::toFixedIncomeCashFlowRequest).toList();
|
||||||
|
|
||||||
|
SecurityFondGatewayRequest securityGatewayRequest;
|
||||||
if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) {
|
if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) {
|
||||||
FixedIncomeSecurityNewRequest fixedIncomeSecurityNewRequest = securityRequestAdapter.toFixedIncomeSecurityRequest(security);
|
FixedIncomeSecurityNewRequest fixedIncomeSecurityNewRequest = securityRequestAdapter.toFixedIncomeSecurityRequest(security);
|
||||||
securityGatewayRequest = new FixedIncomeGatewayRequest(fixedIncomeSecurityNewRequest);
|
securityGatewayRequest = new FixedIncomeGatewayRequest(fixedIncomeSecurityNewRequest);
|
||||||
|
|
@ -67,7 +67,6 @@ public class SecurityService {
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
log.error("{}", ExceptionUtils.getStackTrace(e));
|
log.error("{}", ExceptionUtils.getStackTrace(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.account.ClientCodeNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.*;
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.*;
|
||||||
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 java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -31,39 +32,43 @@ public class CompanyProcessor {
|
||||||
public void process(CompaniesRequest request) {
|
public void process(CompaniesRequest request) {
|
||||||
List<Company> companyList = request.getCompanyList();
|
List<Company> companyList = request.getCompanyList();
|
||||||
for (Company memberCompany : companyList) {
|
for (Company memberCompany : companyList) {
|
||||||
UUID companyId = memberCompany.getId();
|
try {
|
||||||
log.debug("Grouping by companyId: {}", companyId);
|
UUID companyId = memberCompany.getId();
|
||||||
List<CompanyClearingCategory> companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId);
|
log.debug("Grouping by companyId: {}", companyId);
|
||||||
List<CompanySymbols> companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId);
|
List<CompanyClearingCategory> companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId);
|
||||||
List<Contact> contacts = groupByCompanyId(request.getContactList(), companyId);
|
List<CompanySymbols> companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId);
|
||||||
List<ProfileDocument> profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId);
|
List<Contact> contacts = groupByCompanyId(request.getContactList(), companyId);
|
||||||
List<Client> clients = groupByCompanyId(request.getClientList(), companyId);
|
List<ProfileDocument> profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId);
|
||||||
|
List<Client> clients = groupByCompanyId(request.getClientList(), companyId);
|
||||||
|
|
||||||
List<CompanySymbolNewRequest> companySymbolNewRequests = companySymbols.stream().
|
List<CompanySymbolNewRequest> companySymbolNewRequests = companySymbols.stream().
|
||||||
map(companyRequestAdapter::toCompanySymbolsRequest).toList();
|
map(companyRequestAdapter::toCompanySymbolsRequest).toList();
|
||||||
List<ContactNewRequest> contactNewRequests = contacts.stream().
|
List<ContactNewRequest> contactNewRequests = contacts.stream().
|
||||||
map(companyRequestAdapter::toContactRequest).toList();
|
map(companyRequestAdapter::toContactRequest).toList();
|
||||||
List<ProfileDocumentNewRequest> profileDocumentNewRequests = profileDocuments.stream().
|
List<ProfileDocumentNewRequest> profileDocumentNewRequests = profileDocuments.stream().
|
||||||
map(companyRequestAdapter::toProfileDocumentRequest).toList();
|
map(companyRequestAdapter::toProfileDocumentRequest).toList();
|
||||||
List<ClientCodeNewRequest> clientCodeNewRequests = clients.stream().
|
List<ClientCodeNewRequest> clientCodeNewRequests = clients.stream().
|
||||||
map(companyRequestAdapter::toClientRequest).toList();
|
map(companyRequestAdapter::toClientRequest).toList();
|
||||||
List<ClearingMemberCategoryNewRequest> categories = companyClearingCategories.stream().
|
List<ClearingMemberCategoryNewRequest> categories = companyClearingCategories.stream().
|
||||||
map(companyRequestAdapter::toCategoryRequest).toList();
|
map(companyRequestAdapter::toCategoryRequest).toList();
|
||||||
|
|
||||||
CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest();
|
CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest();
|
||||||
companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany));
|
companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany));
|
||||||
request.getCompanyInfoList()
|
request.getCompanyInfoList()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
.filter(info -> info.getCompanyId().equals(companyId)).findFirst()
|
||||||
.map(companyRequestAdapter::toCompanyInfoRequest)
|
.map(companyRequestAdapter::toCompanyInfoRequest)
|
||||||
.ifPresent(companyGatewayRequest::setCompanyInfo);
|
.ifPresent(companyGatewayRequest::setCompanyInfo);
|
||||||
companyGatewayRequest.setCompanySymbols(companySymbolNewRequests);
|
companyGatewayRequest.setCompanySymbols(companySymbolNewRequests);
|
||||||
companyGatewayRequest.setContacts(contactNewRequests);
|
companyGatewayRequest.setContacts(contactNewRequests);
|
||||||
companyGatewayRequest.setProfileDocuments(profileDocumentNewRequests);
|
companyGatewayRequest.setProfileDocuments(profileDocumentNewRequests);
|
||||||
companyGatewayRequest.setClientCodes(clientCodeNewRequests);
|
companyGatewayRequest.setClientCodes(clientCodeNewRequests);
|
||||||
companyGatewayRequest.setCategories(categories);
|
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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
||||||
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 java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -30,16 +31,19 @@ public class ListingMMProcessor {
|
||||||
public void process(MMListingsRequest request) {
|
public void process(MMListingsRequest request) {
|
||||||
List<ExchangeInstrument> exchangeInstrumentList = request.getExchangeInstrumentList();
|
List<ExchangeInstrument> exchangeInstrumentList = request.getExchangeInstrumentList();
|
||||||
for (ExchangeInstrument exchangeInstrument : exchangeInstrumentList) {
|
for (ExchangeInstrument exchangeInstrument : exchangeInstrumentList) {
|
||||||
UUID exchangeInstrumentId = exchangeInstrument.getId();
|
try {
|
||||||
log.debug("Process exchangeInstrumentId : {}", exchangeInstrumentId);
|
UUID exchangeInstrumentId = exchangeInstrument.getId();
|
||||||
if (StringUtils.isEmpty(exchangeInstrument.getCode()) || exchangeInstrument.getCode().length() < 6) {
|
log.debug("Process exchangeInstrumentId : {}", exchangeInstrumentId);
|
||||||
log.warn("Incorrect code : {}, skip record", exchangeInstrument.getCode());
|
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue