rename and new stages for companies request

This commit is contained in:
akulikov 2023-05-27 10:33:18 +03:00
parent d0409a243e
commit 53fab62830
17 changed files with 222 additions and 175 deletions

View file

@ -3,7 +3,7 @@ package ru.spcex.clearing.gatewayapi.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.Stage;
import ru.spcex.clearing.gatewayapi.logic.listings.*; import ru.spcex.clearing.gatewayapi.logic.listings_fond.*;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
@ -14,8 +14,8 @@ import java.util.List;
public class PipelineConfiguration { public class PipelineConfiguration {
@Bean @Bean
public List<Stage<ListingsRequestParam>> listingsRequestPipeline(ImdgProvider imdgProvider, KafkaSender kafkaSender) { public List<Stage<FondListingsRequestParam>> listingsRequestPipeline(ImdgProvider imdgProvider, KafkaSender kafkaSender) {
List<Stage<ListingsRequestParam>> pipeline = new ArrayList<>(); List<Stage<FondListingsRequestParam>> pipeline = new ArrayList<>();
pipeline.add(new PrepareSecurities()); pipeline.add(new PrepareSecurities());
pipeline.add(new PrepareIssuerCompanies()); pipeline.add(new PrepareIssuerCompanies());
pipeline.add(new ValidateIncomeSecurities()); pipeline.add(new ValidateIncomeSecurities());

View file

@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest; import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
import ru.spcex.clearing.gatewayapi.request.ListingsRequest; import ru.spcex.clearing.gatewayapi.request.FondListingsRequest;
import ru.spcex.clearing.gatewayapi.response.CommonResponse; import ru.spcex.clearing.gatewayapi.response.CommonResponse;
@Controller @Controller
@ -26,13 +26,13 @@ public class GatewayController {
@ApiResponse(code = 400, message = "Ошибка валидации", response = CommonResponse.class) @ApiResponse(code = 400, message = "Ошибка валидации", response = CommonResponse.class)
}) })
@RequestMapping( @RequestMapping(
path = "/listings", path = "/listing_fond",
method = RequestMethod.POST, method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE produces = MediaType.APPLICATION_JSON_VALUE
) )
@ResponseBody @ResponseBody
public CommonResponse listings(@RequestBody ListingsRequest request) { public CommonResponse listings(@RequestBody FondListingsRequest request) {
// todo pack it to abstract class // todo pack it to abstract class
CommonResponse commonResponse = new CommonResponse(); CommonResponse commonResponse = new CommonResponse();
commonResponse.setId(request.getId()); commonResponse.setId(request.getId());

View file

@ -8,7 +8,7 @@ import java.util.List;
public class CompaniesRequestParam { public class CompaniesRequestParam {
private final CompaniesRequest companiesRequest; private final CompaniesRequest companiesRequest;
private final List<MemberCompany> memberCompanyList = new ArrayList<>(); private List<MemberCompany> memberCompanyList = new ArrayList<>();
public CompaniesRequestParam(CompaniesRequest companiesRequest) { public CompaniesRequestParam(CompaniesRequest companiesRequest) {
this.companiesRequest = companiesRequest; this.companiesRequest = companiesRequest;
@ -21,4 +21,8 @@ public class CompaniesRequestParam {
public List<MemberCompany> getMemberCompanyList() { public List<MemberCompany> getMemberCompanyList() {
return memberCompanyList; return memberCompanyList;
} }
public void setMemberCompanyList(List<MemberCompany> memberCompanyList) {
this.memberCompanyList = memberCompanyList;
}
} }

View file

@ -11,6 +11,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
public class PrepareMemberCompanies extends Stage<CompaniesRequestParam> { public class PrepareMemberCompanies extends Stage<CompaniesRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@ -105,6 +106,14 @@ public class PrepareMemberCompanies extends Stage<CompaniesRequestParam> {
memberCompany.getClientList().add(client); memberCompany.getClientList().add(client);
} }
List<MemberCompany> filteredIssuerCompany = companyList.stream()
.filter(memberCompany -> !memberCompany.isInvalidData())
.collect(Collectors.toList());
// todo check list is empty
param.setMemberCompanyList(filteredIssuerCompany);
return null; return null;
} }

View file

@ -0,0 +1,34 @@
package ru.spcex.clearing.gatewayapi.logic.companies;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
import ru.spcex.clearing.gatewayapi.logic.Stage;
import ru.spcex.clearing.gatewayapi.request.objects.MemberCompany;
import java.util.List;
public class ValidateMemberCompanies extends Stage<CompaniesRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass());
@Override
public ProcessResult process(CompaniesRequestParam param) {
List<MemberCompany> memberCompanyList = param.getMemberCompanyList();
for (MemberCompany company : memberCompanyList) {
if (company.isInvalidData()) continue;
if (StringUtils.isEmpty(company.getShortName())) {
log.warn("Empty or null shortName for company (UUID = {}), skipped", company.getId());
company.setInvalidData(true);
continue;
}
// todo in progress...
}
return null;
}
}

View file

@ -1,43 +0,0 @@
package ru.spcex.clearing.gatewayapi.logic.listings;
import ru.spcex.clearing.gatewayapi.request.ListingsRequest;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.IssuerCompany;
import java.util.ArrayList;
import java.util.List;
public class ListingsRequestParam {
private ListingsRequest listingsRequest;
private List<IncomeSecurity> securities = new ArrayList<>();
private List<IssuerCompany> issuerCompanyList = new ArrayList<>();
public ListingsRequestParam(ListingsRequest listingsRequest) {
this.listingsRequest = listingsRequest;
}
public ListingsRequest getListingsRequest() {
return listingsRequest;
}
public List<IncomeSecurity> getSecurities() {
return securities;
}
public List<IssuerCompany> getIssuerCompanyList() {
return issuerCompanyList;
}
public void setListingsRequest(ListingsRequest listingsRequest) {
this.listingsRequest = listingsRequest;
}
public void setSecurities(List<IncomeSecurity> securities) {
this.securities = securities;
}
public void setIssuerCompanyList(List<IssuerCompany> issuerCompanyList) {
this.issuerCompanyList = issuerCompanyList;
}
}

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -21,7 +21,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class CheckCompanyExist extends Stage<ListingsRequestParam> { public class CheckCompanyExist extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<Company> companyImdg; private final Imdg<Company> companyImdg;
@ -35,7 +35,7 @@ public class CheckCompanyExist extends Stage<ListingsRequestParam> {
} }
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IssuerCompany> companyList = param.getIssuerCompanyList(); List<IssuerCompany> companyList = param.getIssuerCompanyList();
for (IssuerCompany company : companyList) { for (IssuerCompany company : companyList) {

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -10,8 +10,8 @@ import ru.clearing.classes.statics.data.misc.Listing;
import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.Stage;
import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule; import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule;
import ru.spcex.clearing.gatewayapi.request.objects.FondSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing; import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.Nominal; import ru.spcex.clearing.gatewayapi.request.objects.Nominal;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.platform.enumeration.InstrumentType; import ru.spcex.platform.enumeration.InstrumentType;
@ -22,7 +22,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class CheckSecurityExist extends Stage<ListingsRequestParam> { public class CheckSecurityExist extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<EquitySecurity> equitySecurityImdg; private final Imdg<EquitySecurity> equitySecurityImdg;
@ -40,12 +40,12 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
} }
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IncomeSecurity> securities = param.getSecurities(); List<FondSecurity> securities = param.getSecurities();
for (IncomeSecurity incomeSecurity : securities) { for (FondSecurity fondSecurity : securities) {
String instrumentType = incomeSecurity.getInstrumentType(); String instrumentType = fondSecurity.getInstrumentType();
String securitySymbol = incomeSecurity.getSecuritySymbol(); String securitySymbol = fondSecurity.getSecuritySymbol();
if (InstrumentType.BOND.equalsByKey(instrumentType)) { if (InstrumentType.BOND.equalsByKey(instrumentType)) {
Collection<FixedIncomeSecurity> fixedIncomeSecurities = fixedIncomeSecurityImdg.getCollectionObjectsByFieldValues( Collection<FixedIncomeSecurity> fixedIncomeSecurities = fixedIncomeSecurityImdg.getCollectionObjectsByFieldValues(
Map.of("securitySymbol", securitySymbol) Map.of("securitySymbol", securitySymbol)
@ -57,10 +57,10 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
securitySymbol, securitySymbol,
fixedIncomeSecurity.getId()); fixedIncomeSecurity.getId());
} }
incomeSecurity.setAlreadyExist(true); fondSecurity.setAlreadyExist(true);
incomeSecurity.setMapId(fixedIncomeSecurity.getId()); fondSecurity.setMapId(fixedIncomeSecurity.getId());
} else { } else {
incomeSecurity.setAlreadyExist(false); fondSecurity.setAlreadyExist(false);
} }
} else if (InstrumentType.EQTY.equalsByKey(instrumentType)) { } else if (InstrumentType.EQTY.equalsByKey(instrumentType)) {
Collection<EquitySecurity> equitySecurities = equitySecurityImdg.getCollectionObjectsByFieldValues( Collection<EquitySecurity> equitySecurities = equitySecurityImdg.getCollectionObjectsByFieldValues(
@ -73,23 +73,23 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
securitySymbol, securitySymbol,
equitySecurity.getId()); equitySecurity.getId());
} }
incomeSecurity.setAlreadyExist(true); fondSecurity.setAlreadyExist(true);
incomeSecurity.setMapId(equitySecurity.getId()); fondSecurity.setMapId(equitySecurity.getId());
} else { } else {
incomeSecurity.setAlreadyExist(false); fondSecurity.setAlreadyExist(false);
} }
} }
for (IncomeListing listing : incomeSecurity.getListingList()) { for (IncomeListing listing : fondSecurity.getListingList()) {
if (listing.isInvalidData()) continue; if (listing.isInvalidData()) continue;
if (!incomeSecurity.isAlreadyExist()) { if (!fondSecurity.isAlreadyExist()) {
listing.setAlreadyExist(false); listing.setAlreadyExist(false);
continue; continue;
} }
Collection<Listing> listingsFromImdg = listingImdg.getCollectionObjectsByFieldValues( Collection<Listing> listingsFromImdg = listingImdg.getCollectionObjectsByFieldValues(
Map.of( Map.of(
"securityId", incomeSecurity.getMapId(), "securityId", fondSecurity.getMapId(),
"market", listing.getCode() "market", listing.getCode()
) )
); );
@ -99,7 +99,7 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
Listing listingFromImdg = listingsFromImdg.iterator().next(); Listing listingFromImdg = listingsFromImdg.iterator().next();
if (listingsFromImdg.size() > 1) { if (listingsFromImdg.size() > 1) {
log.warn("For security_id {} and market {} found > 1 listing, update first (id = {})", log.warn("For security_id {} and market {} found > 1 listing, update first (id = {})",
incomeSecurity.getMapId(), fondSecurity.getMapId(),
listing.getCode(), listing.getCode(),
listingFromImdg.getId()); listingFromImdg.getId());
@ -109,16 +109,16 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
} }
} }
for (CouponSchedule couponSchedules : incomeSecurity.getCouponScheduleList()) { for (CouponSchedule couponSchedules : fondSecurity.getCouponScheduleList()) {
if (couponSchedules.isInvalidData()) continue; if (couponSchedules.isInvalidData()) continue;
if (!incomeSecurity.isAlreadyExist()) { if (!fondSecurity.isAlreadyExist()) {
couponSchedules.setAlreadyExist(false); couponSchedules.setAlreadyExist(false);
continue; continue;
} }
Collection<CouponPeriod> couponPeriodListFromImdg = couponPeriodImdg.getCollectionObjectsByFieldValues( Collection<CouponPeriod> couponPeriodListFromImdg = couponPeriodImdg.getCollectionObjectsByFieldValues(
Map.of( Map.of(
"securityId", incomeSecurity.getMapId(), "securityId", fondSecurity.getMapId(),
"periodStartDate", couponSchedules.getPeriodStartDate(), "periodStartDate", couponSchedules.getPeriodStartDate(),
"periodEndDate", couponSchedules.getPeriodEndDate() "periodEndDate", couponSchedules.getPeriodEndDate()
) )
@ -130,7 +130,7 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
if (couponPeriodListFromImdg.size() > 1) { if (couponPeriodListFromImdg.size() > 1) {
log.warn("For securityId {}, periodStartDate {}, periodEndDate {} found > 1 couponPeriod, " + log.warn("For securityId {}, periodStartDate {}, periodEndDate {} found > 1 couponPeriod, " +
"update first (id = {})", "update first (id = {})",
incomeSecurity.getMapId(), fondSecurity.getMapId(),
couponSchedules.getPeriodStartDate(), couponSchedules.getPeriodStartDate(),
couponSchedules.getPeriodEndDate(), couponSchedules.getPeriodEndDate(),
couponPeriod.getId()); couponPeriod.getId());
@ -140,13 +140,13 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
} }
} }
for (Nominal nominal : incomeSecurity.getNominalList()) { for (Nominal nominal : fondSecurity.getNominalList()) {
if (nominal.isInvalidData()) continue; if (nominal.isInvalidData()) continue;
if (incomeSecurity.isAlreadyExist()) { if (fondSecurity.isAlreadyExist()) {
Collection<FixedIncomeCashFlow> fixedIncomeCashFlowListFromImdg = fixedIncomeCashFlowImdg.getCollectionObjectsByFieldValues( Collection<FixedIncomeCashFlow> fixedIncomeCashFlowListFromImdg = fixedIncomeCashFlowImdg.getCollectionObjectsByFieldValues(
Map.of( Map.of(
"securityId", incomeSecurity.getMapId(), "securityId", fondSecurity.getMapId(),
"valueDate", nominal.getDate() "valueDate", nominal.getDate()
) )
); );
@ -156,7 +156,7 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
FixedIncomeCashFlow fixedIncomeCashFlow = fixedIncomeCashFlowListFromImdg.iterator().next(); FixedIncomeCashFlow fixedIncomeCashFlow = fixedIncomeCashFlowListFromImdg.iterator().next();
if (fixedIncomeCashFlowListFromImdg.size() > 1) { if (fixedIncomeCashFlowListFromImdg.size() > 1) {
log.warn("For securityId {}, valueDate {} found > 1 fixedIncomeCashFlow, update first (id = {})", log.warn("For securityId {}, valueDate {} found > 1 fixedIncomeCashFlow, update first (id = {})",
incomeSecurity.getMapId(), fondSecurity.getMapId(),
nominal.getDate(), nominal.getDate(),
fixedIncomeCashFlow.getId()); fixedIncomeCashFlow.getId());
} }
@ -167,7 +167,7 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
nominal.setAlreadyExist(false); nominal.setAlreadyExist(false);
} }
for (CouponSchedule couponSchedule : incomeSecurity.getCouponScheduleList()) { for (CouponSchedule couponSchedule : fondSecurity.getCouponScheduleList()) {
if (couponSchedule.isInvalidData()) continue; if (couponSchedule.isInvalidData()) continue;
if (nominal.getDate().isBefore(couponSchedule.getPeriodStartDate()) || nominal.getDate().isAfter(couponSchedule.getPeriodEndDate())) if (nominal.getDate().isBefore(couponSchedule.getPeriodStartDate()) || nominal.getDate().isAfter(couponSchedule.getPeriodEndDate()))
continue; continue;
@ -175,7 +175,7 @@ public class CheckSecurityExist extends Stage<ListingsRequestParam> {
nominal.setCouponNumber(couponSchedule.getCouponNumber()); nominal.setCouponNumber(couponSchedule.getCouponNumber());
} }
if (nominal.getAccruedCoupon() == null || nominal.getCouponNumber() == null) { if (nominal.getAccruedCoupon() == null || nominal.getCouponNumber() == null) {
log.warn("Can't find accrued_coupon OR coupon_number for nominal, security.UUID {}", incomeSecurity.getId()); log.warn("Can't find accrued_coupon OR coupon_number for nominal, security.UUID {}", fondSecurity.getId());
nominal.setInvalidData(true); nominal.setInvalidData(true);
} }
} }

View file

@ -0,0 +1,43 @@
package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import ru.spcex.clearing.gatewayapi.request.FondListingsRequest;
import ru.spcex.clearing.gatewayapi.request.objects.FondSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.IssuerCompany;
import java.util.ArrayList;
import java.util.List;
public class FondListingsRequestParam {
private FondListingsRequest fondListingsRequest;
private List<FondSecurity> securities = new ArrayList<>();
private List<IssuerCompany> issuerCompanyList = new ArrayList<>();
public FondListingsRequestParam(FondListingsRequest fondListingsRequest) {
this.fondListingsRequest = fondListingsRequest;
}
public FondListingsRequest getRequest() {
return fondListingsRequest;
}
public List<FondSecurity> getSecurities() {
return securities;
}
public List<IssuerCompany> getIssuerCompanyList() {
return issuerCompanyList;
}
public void setListingsRequest(FondListingsRequest fondListingsRequest) {
this.fondListingsRequest = fondListingsRequest;
}
public void setSecurities(List<FondSecurity> securities) {
this.securities = securities;
}
public void setIssuerCompanyList(List<IssuerCompany> issuerCompanyList) {
this.issuerCompanyList = issuerCompanyList;
}
}

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -12,12 +12,12 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class PrepareIssuerCompanies extends Stage<ListingsRequestParam> { public class PrepareIssuerCompanies extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IssuerCompany> issuerCompanyList = param.getListingsRequest().getIssuerCompanyList(); List<IssuerCompany> issuerCompanyList = param.getRequest().getIssuerCompanyList();
Map<UUID, IssuerCompany> issuerCompanyMap = new HashMap<>(); Map<UUID, IssuerCompany> issuerCompanyMap = new HashMap<>();
for (IssuerCompany issuerCompany : issuerCompanyList) { for (IssuerCompany issuerCompany : issuerCompanyList) {
@ -34,9 +34,9 @@ public class PrepareIssuerCompanies extends Stage<ListingsRequestParam> {
UUID issuerCompanyId = issuerCompany.getId(); UUID issuerCompanyId = issuerCompany.getId();
boolean securityFoundForCompany = false; boolean securityFoundForCompany = false;
for (IncomeSecurity incomeSecurity : param.getSecurities()) { for (FondSecurity fondSecurity : param.getSecurities()) {
if (incomeSecurity.getIssuerId().equals(issuerCompanyId)) { if (fondSecurity.getIssuerId().equals(issuerCompanyId)) {
incomeSecurity.setIssuerCompany(issuerCompany); fondSecurity.setIssuerCompany(issuerCompany);
securityFoundForCompany = true; securityFoundForCompany = true;
break; break;
} }
@ -46,7 +46,7 @@ public class PrepareIssuerCompanies extends Stage<ListingsRequestParam> {
} }
} }
List<IssuerCompanyInfo> issuerCompanyInfoList = param.getListingsRequest().getIssuerCompanyInfoList(); List<IssuerCompanyInfo> issuerCompanyInfoList = param.getRequest().getIssuerCompanyInfoList();
for (IssuerCompanyInfo issuerCompanyInfo : issuerCompanyInfoList) { for (IssuerCompanyInfo issuerCompanyInfo : issuerCompanyInfoList) {
UUID issuerCompanyInfoUUID = issuerCompanyInfo.getCompanyId(); UUID issuerCompanyInfoUUID = issuerCompanyInfo.getCompanyId();
IssuerCompany issuerCompany = issuerCompanyMap.get(issuerCompanyInfoUUID); IssuerCompany issuerCompany = issuerCompanyMap.get(issuerCompanyInfoUUID);
@ -61,7 +61,7 @@ public class PrepareIssuerCompanies extends Stage<ListingsRequestParam> {
issuerCompany.setIssuerCompanyInfo(issuerCompanyInfo); issuerCompany.setIssuerCompanyInfo(issuerCompanyInfo);
} }
List<IssuerCompanySymbols> issuerCompanySymbolsList = param.getListingsRequest().getIssuerCompanySymbolsList(); List<IssuerCompanySymbols> issuerCompanySymbolsList = param.getRequest().getIssuerCompanySymbolsList();
for (IssuerCompanySymbols issuerCompanySymbols : issuerCompanySymbolsList) { for (IssuerCompanySymbols issuerCompanySymbols : issuerCompanySymbolsList) {
UUID issuerCompanySymbolsUUID = issuerCompanySymbols.getCompanyId(); UUID issuerCompanySymbolsUUID = issuerCompanySymbols.getCompanyId();
IssuerCompany issuerCompany = issuerCompanyMap.get(issuerCompanySymbolsUUID); IssuerCompany issuerCompany = issuerCompanyMap.get(issuerCompanySymbolsUUID);
@ -75,7 +75,7 @@ public class PrepareIssuerCompanies extends Stage<ListingsRequestParam> {
issuerCompany.getIssuerCompanySymbolsList().add(issuerCompanySymbols); issuerCompany.getIssuerCompanySymbolsList().add(issuerCompanySymbols);
} }
List<IssuerContact> issuerContactList = param.getListingsRequest().getIssuerContactList(); List<IssuerContact> issuerContactList = param.getRequest().getIssuerContactList();
for (IssuerContact issuerContact : issuerContactList) { for (IssuerContact issuerContact : issuerContactList) {
UUID issuerContactUUID = issuerContact.getCompanyId(); UUID issuerContactUUID = issuerContact.getCompanyId();
IssuerCompany issuerCompany = issuerCompanyMap.get(issuerContactUUID); IssuerCompany issuerCompany = issuerCompanyMap.get(issuerContactUUID);

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -12,63 +12,63 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class PrepareSecurities extends Stage<ListingsRequestParam> { public class PrepareSecurities extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IncomeSecurity> securities = param.getListingsRequest().getSecurities(); List<FondSecurity> securities = param.getRequest().getSecurities();
Map<UUID, IncomeSecurity> securityMap = new HashMap<>(); Map<UUID, FondSecurity> securityMap = new HashMap<>();
for (IncomeSecurity incomeSecurity : securities) { for (FondSecurity fondSecurity : securities) {
if (securityMap.containsKey(incomeSecurity.getId())) { if (securityMap.containsKey(fondSecurity.getId())) {
log.warn("For security.UUID {} found > 1 element from request, use first", incomeSecurity.getId()); log.warn("For security.UUID {} found > 1 element from request, use first", fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
securityMap.put(incomeSecurity.getId(), incomeSecurity); securityMap.put(fondSecurity.getId(), fondSecurity);
} }
List<CouponSchedule> couponSchedules = param.getListingsRequest().getCouponSchedules(); List<CouponSchedule> couponSchedules = param.getRequest().getCouponSchedules();
for (CouponSchedule couponSchedule : couponSchedules) { for (CouponSchedule couponSchedule : couponSchedules) {
UUID couponScheduleUUID = couponSchedule.getSecurityId(); UUID couponScheduleUUID = couponSchedule.getSecurityId();
IncomeSecurity incomeSecurity = securityMap.get(couponScheduleUUID); FondSecurity fondSecurity = securityMap.get(couponScheduleUUID);
if (incomeSecurity == null) { if (fondSecurity == null) {
log.warn("For couponSchedule.securityId {} not found security, skipped", couponScheduleUUID); log.warn("For couponSchedule.securityId {} not found security, skipped", couponScheduleUUID);
continue; continue;
} }
incomeSecurity.getCouponScheduleList().add(couponSchedule); fondSecurity.getCouponScheduleList().add(couponSchedule);
} }
List<Currency> currencyList = param.getListingsRequest().getCurrencies(); List<Currency> currencyList = param.getRequest().getCurrencies();
for (Currency currency : currencyList) { for (Currency currency : currencyList) {
UUID currencyUUID = currency.getId(); UUID currencyUUID = currency.getId();
// todo сделать после выяснения // todo сделать после выяснения
} }
List<IncomeListing> listingList = param.getListingsRequest().getListingList(); List<IncomeListing> listingList = param.getRequest().getListingList();
for (IncomeListing listing : listingList) { for (IncomeListing listing : listingList) {
UUID listingUUID = listing.getSecurityId(); UUID listingUUID = listing.getSecurityId();
IncomeSecurity incomeSecurity = securityMap.get(listingUUID); FondSecurity fondSecurity = securityMap.get(listingUUID);
if (incomeSecurity == null) { if (fondSecurity == null) {
log.warn("For listing.securityId {} not found security, skipped", listingUUID); log.warn("For listing.securityId {} not found security, skipped", listingUUID);
continue; continue;
} }
incomeSecurity.getListingList().add(listing); fondSecurity.getListingList().add(listing);
} }
List<Nominal> nominalList = param.getListingsRequest().getNominalList(); List<Nominal> nominalList = param.getRequest().getNominalList();
for (Nominal nominal : nominalList) { for (Nominal nominal : nominalList) {
UUID nominalUUID = nominal.getSecurityId(); UUID nominalUUID = nominal.getSecurityId();
IncomeSecurity incomeSecurity = securityMap.get(nominalUUID); FondSecurity fondSecurity = securityMap.get(nominalUUID);
if (incomeSecurity == null) { if (fondSecurity == null) {
log.warn("For nominal.securityId {} not found security, skipped", nominalUUID); log.warn("For nominal.securityId {} not found security, skipped", nominalUUID);
continue; continue;
} }
incomeSecurity.getNominalList().add(nominal); fondSecurity.getNominalList().add(nominal);
} }
List<IncomeSecurity> filteredIncomeSecurities = securities.stream() List<FondSecurity> filteredIncomeSecurities = securities.stream()
.filter(incomeSecurity -> !incomeSecurity.isInvalidData()) .filter(incomeSecurity -> !incomeSecurity.isInvalidData())
.collect(Collectors.toList()); .collect(Collectors.toList());

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -20,7 +20,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class SendMessageToCompanyService extends Stage<ListingsRequestParam> { public class SendMessageToCompanyService extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final KafkaSender kafkaSender; private final KafkaSender kafkaSender;
@ -33,7 +33,7 @@ public class SendMessageToCompanyService extends Stage<ListingsRequestParam> {
} }
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IssuerCompany> companyList = param.getIssuerCompanyList(); List<IssuerCompany> companyList = param.getIssuerCompanyList();
for (IssuerCompany company : companyList) { for (IssuerCompany company : companyList) {
if (company.isInvalidData()) continue; if (company.isInvalidData()) continue;

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -7,8 +7,8 @@ import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.Stage;
import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule; import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule;
import ru.spcex.clearing.gatewayapi.request.objects.FondSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing; import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.Nominal; import ru.spcex.clearing.gatewayapi.request.objects.Nominal;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;
@ -21,7 +21,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class SendMessageToSecurityService extends Stage<ListingsRequestParam> { public class SendMessageToSecurityService extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final KafkaSender kafkaSender; private final KafkaSender kafkaSender;
@ -36,9 +36,9 @@ public class SendMessageToSecurityService extends Stage<ListingsRequestParam> {
} }
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IncomeSecurity> securityList = param.getSecurities(); List<FondSecurity> securityList = param.getSecurities();
for (IncomeSecurity security : securityList) { for (FondSecurity security : securityList) {
if (security.isInvalidData()) continue; if (security.isInvalidData()) continue;
if (security.getIssuerCompany() == null || security.getIssuerCompany().getMapId() == null) { if (security.getIssuerCompany() == null || security.getIssuerCompany().getMapId() == null) {
log.warn("Can't insert security.UUID {}, company not found for parameter issuerId", security.getId()); log.warn("Can't insert security.UUID {}, company not found for parameter issuerId", security.getId());

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -6,8 +6,8 @@ import org.slf4j.LoggerFactory;
import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.Stage;
import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule; import ru.spcex.clearing.gatewayapi.request.objects.CouponSchedule;
import ru.spcex.clearing.gatewayapi.request.objects.FondSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing; import ru.spcex.clearing.gatewayapi.request.objects.IncomeListing;
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
import ru.spcex.clearing.gatewayapi.request.objects.Nominal; import ru.spcex.clearing.gatewayapi.request.objects.Nominal;
import ru.spcex.platform.enumeration.BondType; import ru.spcex.platform.enumeration.BondType;
import ru.spcex.platform.enumeration.InstrumentType; import ru.spcex.platform.enumeration.InstrumentType;
@ -18,102 +18,102 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class ValidateIncomeSecurities extends Stage<ListingsRequestParam> { public class ValidateIncomeSecurities extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IncomeSecurity> securities = param.getSecurities(); List<FondSecurity> securities = param.getSecurities();
for (IncomeSecurity incomeSecurity : securities) { for (FondSecurity fondSecurity : securities) {
if (incomeSecurity.isInvalidData()) continue; if (fondSecurity.isInvalidData()) continue;
if (incomeSecurity.getIssuerCompany() == null) { if (fondSecurity.getIssuerCompany() == null) {
log.warn("For security.UUID {} not found company, skipped", incomeSecurity.getId()); log.warn("For security.UUID {} not found company, skipped", fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
String instrumentTypeStr = incomeSecurity.getInstrumentType(); String instrumentTypeStr = fondSecurity.getInstrumentType();
InstrumentType instrumentType = IEnumKey.getEnumByKey(InstrumentType.class, instrumentTypeStr); InstrumentType instrumentType = IEnumKey.getEnumByKey(InstrumentType.class, instrumentTypeStr);
if (instrumentType != InstrumentType.BOND && instrumentType != InstrumentType.EQTY) { if (instrumentType != InstrumentType.BOND && instrumentType != InstrumentType.EQTY) {
log.warn("Invalid instrumentType {} for security.UUID {}, skipped", instrumentTypeStr, incomeSecurity.getId()); log.warn("Invalid instrumentType {} for security.UUID {}, skipped", instrumentTypeStr, fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
String workflowStatusStr = incomeSecurity.getWorkflowStatus(); String workflowStatusStr = fondSecurity.getWorkflowStatus();
WorkflowStatus workflowStatus = IEnumKey.getEnumByKey(WorkflowStatus.class, workflowStatusStr); WorkflowStatus workflowStatus = IEnumKey.getEnumByKey(WorkflowStatus.class, workflowStatusStr);
if (workflowStatus == null) { if (workflowStatus == null) {
log.warn("Invalid workflowStatus {} for security.UUID {}, skipped", workflowStatusStr, incomeSecurity.getId()); log.warn("Invalid workflowStatus {} for security.UUID {}, skipped", workflowStatusStr, fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
String shareTypeStr = incomeSecurity.getShareType(); String shareTypeStr = fondSecurity.getShareType();
ShareType shareType = IEnumKey.getEnumByKey(ShareType.class, shareTypeStr); ShareType shareType = IEnumKey.getEnumByKey(ShareType.class, shareTypeStr);
if (instrumentType == InstrumentType.EQTY && shareType == null) { if (instrumentType == InstrumentType.EQTY && shareType == null) {
log.warn("Invalid shareType {} for security.UUID {}, skipped", shareTypeStr, incomeSecurity.getId()); log.warn("Invalid shareType {} for security.UUID {}, skipped", shareTypeStr, fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
String bondTypeStr = incomeSecurity.getBondType(); String bondTypeStr = fondSecurity.getBondType();
BondType bondType = IEnumKey.getEnumByKey(BondType.class, bondTypeStr); BondType bondType = IEnumKey.getEnumByKey(BondType.class, bondTypeStr);
if (bondType == null) { if (bondType == null) {
log.warn("Invalid bondType {} for security.UUID {}, skipped", bondTypeStr, incomeSecurity.getId()); log.warn("Invalid bondType {} for security.UUID {}, skipped", bondTypeStr, fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
if (StringUtils.isEmpty(incomeSecurity.getSecuritySymbol())) { if (StringUtils.isEmpty(fondSecurity.getSecuritySymbol())) {
log.warn("Empty or null securitySymbol for security.UUID {}, skipped", incomeSecurity.getId()); log.warn("Empty or null securitySymbol for security.UUID {}, skipped", fondSecurity.getId());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
if (StringUtils.isEmpty(incomeSecurity.getShortName())) { if (StringUtils.isEmpty(fondSecurity.getShortName())) {
log.warn("Empty or null shortName for security.UUID {}, skipped", incomeSecurity.getShortName()); log.warn("Empty or null shortName for security.UUID {}, skipped", fondSecurity.getShortName());
incomeSecurity.setInvalidData(true); fondSecurity.setInvalidData(true);
continue; continue;
} }
List<IncomeListing> listingList = incomeSecurity.getListingList(); List<IncomeListing> listingList = fondSecurity.getListingList();
for (IncomeListing listing : listingList) { for (IncomeListing listing : listingList) {
if (StringUtils.isEmpty(listing.getCode())) { if (StringUtils.isEmpty(listing.getCode())) {
log.warn("Empty or null code (market) for listing from security.UUID {}", incomeSecurity.getId()); log.warn("Empty or null code (market) for listing from security.UUID {}", fondSecurity.getId());
listing.setInvalidData(true); listing.setInvalidData(true);
} }
if (listing.getLotSize() == null) { if (listing.getLotSize() == null) {
log.warn("lotSize is null for listing from security.UUID {}", incomeSecurity.getId()); log.warn("lotSize is null for listing from security.UUID {}", fondSecurity.getId());
listing.setInvalidData(true); listing.setInvalidData(true);
} }
if (StringUtils.isEmpty(listing.getTradingCurrency())) { if (StringUtils.isEmpty(listing.getTradingCurrency())) {
log.warn("Empty or null tradingCurrency for listing from security.UUID {}", incomeSecurity.getId()); log.warn("Empty or null tradingCurrency for listing from security.UUID {}", fondSecurity.getId());
listing.setInvalidData(true); listing.setInvalidData(true);
} }
workflowStatusStr = listing.getWorkflowStatus(); workflowStatusStr = listing.getWorkflowStatus();
workflowStatus = IEnumKey.getEnumByKey(WorkflowStatus.class, workflowStatusStr); workflowStatus = IEnumKey.getEnumByKey(WorkflowStatus.class, workflowStatusStr);
if (workflowStatus == null) { if (workflowStatus == null) {
log.warn("Invalid workflowStatus {} for listing from security.UUID {}", workflowStatusStr, incomeSecurity.getId()); log.warn("Invalid workflowStatus {} for listing from security.UUID {}", workflowStatusStr, fondSecurity.getId());
listing.setInvalidData(true); listing.setInvalidData(true);
} }
} }
incomeSecurity.setListingList( fondSecurity.setListingList(
listingList.stream() listingList.stream()
.filter(incomeListing -> !incomeListing.isInvalidData()) .filter(incomeListing -> !incomeListing.isInvalidData())
.collect(Collectors.toList()) .collect(Collectors.toList())
); );
for (CouponSchedule couponSchedule : incomeSecurity.getCouponScheduleList()) { for (CouponSchedule couponSchedule : fondSecurity.getCouponScheduleList()) {
if ( if (
couponSchedule.getPeriodStartDate() == null || couponSchedule.getPeriodStartDate() == null ||
couponSchedule.getPeriodEndDate() == null || couponSchedule.getPeriodEndDate() == null ||
@ -122,41 +122,41 @@ public class ValidateIncomeSecurities extends Stage<ListingsRequestParam> {
log.warn("Invalid periodStartDate {} or periodEndDate {} for couponSchedule, security.UUID {}, skipped", log.warn("Invalid periodStartDate {} or periodEndDate {} for couponSchedule, security.UUID {}, skipped",
couponSchedule.getPeriodStartDate(), couponSchedule.getPeriodStartDate(),
couponSchedule.getPeriodEndDate(), couponSchedule.getPeriodEndDate(),
incomeSecurity.getId()); fondSecurity.getId());
couponSchedule.setInvalidData(true); couponSchedule.setInvalidData(true);
} }
if (couponSchedule.getCouponNumber() == null) { if (couponSchedule.getCouponNumber() == null) {
log.warn("couponNumber is null for couponSchedule, security.UUID {}, skipped", incomeSecurity.getId()); log.warn("couponNumber is null for couponSchedule, security.UUID {}, skipped", fondSecurity.getId());
couponSchedule.setInvalidData(true); couponSchedule.setInvalidData(true);
} }
if (couponSchedule.getCouponRate() == null) { if (couponSchedule.getCouponRate() == null) {
log.warn("couponRate is null for couponSchedule, security.UUID {}, skipped", incomeSecurity.getId()); log.warn("couponRate is null for couponSchedule, security.UUID {}, skipped", fondSecurity.getId());
couponSchedule.setInvalidData(true); couponSchedule.setInvalidData(true);
} }
if (couponSchedule.getAccruedCoupon() == null) { if (couponSchedule.getAccruedCoupon() == null) {
log.warn("accruedCoupon is null for couponSchedule, security.UUID {}, skipped", incomeSecurity.getId()); log.warn("accruedCoupon is null for couponSchedule, security.UUID {}, skipped", fondSecurity.getId());
couponSchedule.setInvalidData(true); couponSchedule.setInvalidData(true);
} }
} }
for (Nominal nominal : incomeSecurity.getNominalList()) { for (Nominal nominal : fondSecurity.getNominalList()) {
if (nominal.getNominal() == null) { if (nominal.getNominal() == null) {
log.warn("nominal (value) is null for nominal, security.UUID {}, skipped", incomeSecurity.getId()); log.warn("nominal (value) is null for nominal, security.UUID {}, skipped", fondSecurity.getId());
nominal.setInvalidData(true); nominal.setInvalidData(true);
} }
if (nominal.getDate() == null) { if (nominal.getDate() == null) {
log.warn("date is null for nominal, security.UUID {}, skipped", incomeSecurity.getId()); log.warn("date is null for nominal, security.UUID {}, skipped", fondSecurity.getId());
nominal.setInvalidData(true); nominal.setInvalidData(true);
} }
} }
} }
List<IncomeSecurity> filteredIncomeSecurities = securities.stream() List<FondSecurity> filteredIncomeSecurities = securities.stream()
.filter(incomeSecurity -> !incomeSecurity.isInvalidData()) .filter(incomeSecurity -> !incomeSecurity.isInvalidData())
.collect(Collectors.toList()); .collect(Collectors.toList());

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.gatewayapi.logic.listings; package ru.spcex.clearing.gatewayapi.logic.listings_fond;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -16,7 +16,7 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
public class ValidateIssuerCompanies extends Stage<ListingsRequestParam> { public class ValidateIssuerCompanies extends Stage<FondListingsRequestParam> {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final List<CompanySymbol> validCompanySymbols = Arrays.asList( private final List<CompanySymbol> validCompanySymbols = Arrays.asList(
@ -39,7 +39,7 @@ public class ValidateIssuerCompanies extends Stage<ListingsRequestParam> {
); );
@Override @Override
public ProcessResult process(ListingsRequestParam param) { public ProcessResult process(FondListingsRequestParam param) {
List<IssuerCompany> companyList = param.getIssuerCompanyList(); List<IssuerCompany> companyList = param.getIssuerCompanyList();
for (IssuerCompany issuerCompany : companyList) { for (IssuerCompany issuerCompany : companyList) {

View file

@ -6,10 +6,10 @@ import ru.spcex.clearing.gatewayapi.request.objects.*;
import java.util.List; import java.util.List;
public class ListingsRequest extends BaseRequest { public class FondListingsRequest extends BaseRequest {
@JsonProperty("security") @JsonProperty("security")
@ApiModelProperty(value = "Список security") @ApiModelProperty(value = "Список security")
private List<IncomeSecurity> securities; private List<FondSecurity> securities;
@JsonProperty("coupon_schedule") @JsonProperty("coupon_schedule")
@ApiModelProperty(value = "Список coupon_schedule") @ApiModelProperty(value = "Список coupon_schedule")
@ -43,11 +43,11 @@ public class ListingsRequest extends BaseRequest {
@ApiModelProperty(value = "Список контактов компаний эмитентов") @ApiModelProperty(value = "Список контактов компаний эмитентов")
private List<IssuerContact> issuerContactList; private List<IssuerContact> issuerContactList;
public List<IncomeSecurity> getSecurities() { public List<FondSecurity> getSecurities() {
return securities; return securities;
} }
public void setSecurities(List<IncomeSecurity> securities) { public void setSecurities(List<FondSecurity> securities) {
this.securities = securities; this.securities = securities;
} }

View file

@ -12,7 +12,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
public class IncomeSecurity extends WithMapId { public class FondSecurity extends WithMapId {
@JsonProperty("id") @JsonProperty("id")
@ApiModelProperty( @ApiModelProperty(
value = "id (uuid)", value = "id (uuid)",