поправлены баги при создании инструментов

This commit is contained in:
etreschenkov 2023-07-12 19:29:20 +03:00
parent 97322f6e0f
commit 997118ceb8
4 changed files with 86 additions and 73 deletions

View file

@ -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<IssuerCompany> issuerCompanyList = request.getIssuerCompanyList();
for (IssuerCompany issuerCompany : issuerCompanyList) {
UUID companyId = issuerCompany.getId();
log.debug("Grouping by companyId: {}", companyId);
List<IssuerCompanySymbols> issuerCompanySymbolsList = groupByCompanyId(request.getIssuerCompanySymbolsList(), companyId);
List<IssuerContact> issuerContactList = groupByCompanyId(request.getIssuerContactList(), companyId);
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<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
List<ContactNewRequest> contactNewRequests = issuerContactList.stream().
map(issuerCompanyRequestAdapter::toContactRequest).toList();
List<CompanySymbolNewRequest> companySymbolNewRequests = issuerCompanySymbolsList.stream().
map(issuerCompanyRequestAdapter::toCompanySymbolRequest).toList();
List<ContactNewRequest> 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));
}
}
}

View file

@ -35,22 +35,22 @@ public class SecurityService {
public void sendRequest(FondListingsRequest request) {
List<FondSecurity> 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<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 {
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())) {
FixedIncomeSecurityNewRequest fixedIncomeSecurityNewRequest = securityRequestAdapter.toFixedIncomeSecurityRequest(security);
securityGatewayRequest = new FixedIncomeGatewayRequest(fixedIncomeSecurityNewRequest);
@ -67,7 +67,6 @@ public class SecurityService {
} catch (Throwable e) {
log.error("{}", ExceptionUtils.getStackTrace(e));
}
}
}

View file

@ -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<Company> companyList = request.getCompanyList();
for (Company memberCompany : companyList) {
UUID companyId = memberCompany.getId();
log.debug("Grouping by companyId: {}", companyId);
List<CompanyClearingCategory> companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId);
List<CompanySymbols> companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId);
List<Contact> contacts = groupByCompanyId(request.getContactList(), companyId);
List<ProfileDocument> profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId);
List<Client> clients = groupByCompanyId(request.getClientList(), companyId);
try {
UUID companyId = memberCompany.getId();
log.debug("Grouping by companyId: {}", companyId);
List<CompanyClearingCategory> companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId);
List<CompanySymbols> companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId);
List<Contact> contacts = groupByCompanyId(request.getContactList(), companyId);
List<ProfileDocument> profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId);
List<Client> clients = groupByCompanyId(request.getClientList(), companyId);
List<CompanySymbolNewRequest> companySymbolNewRequests = companySymbols.stream().
map(companyRequestAdapter::toCompanySymbolsRequest).toList();
List<ContactNewRequest> contactNewRequests = contacts.stream().
map(companyRequestAdapter::toContactRequest).toList();
List<ProfileDocumentNewRequest> profileDocumentNewRequests = profileDocuments.stream().
map(companyRequestAdapter::toProfileDocumentRequest).toList();
List<ClientCodeNewRequest> clientCodeNewRequests = clients.stream().
map(companyRequestAdapter::toClientRequest).toList();
List<ClearingMemberCategoryNewRequest> categories = companyClearingCategories.stream().
map(companyRequestAdapter::toCategoryRequest).toList();
List<CompanySymbolNewRequest> companySymbolNewRequests = companySymbols.stream().
map(companyRequestAdapter::toCompanySymbolsRequest).toList();
List<ContactNewRequest> contactNewRequests = contacts.stream().
map(companyRequestAdapter::toContactRequest).toList();
List<ProfileDocumentNewRequest> profileDocumentNewRequests = profileDocuments.stream().
map(companyRequestAdapter::toProfileDocumentRequest).toList();
List<ClientCodeNewRequest> clientCodeNewRequests = clients.stream().
map(companyRequestAdapter::toClientRequest).toList();
List<ClearingMemberCategoryNewRequest> 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));
}
}
}

View file

@ -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<ExchangeInstrument> 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);
}
}
}