.
This commit is contained in:
parent
7a8c5d704e
commit
a5bd6dd1cf
15 changed files with 135 additions and 60 deletions
|
|
@ -22,7 +22,7 @@ public class ProcessorConfiguration {
|
||||||
public Processor<FondListingsRequestParam> fondListingsRequestProcessor(ImdgProvider imdgProvider, KafkaSender kafkaSender) {
|
public Processor<FondListingsRequestParam> fondListingsRequestProcessor(ImdgProvider imdgProvider, KafkaSender kafkaSender) {
|
||||||
Processor<FondListingsRequestParam> processor = new Processor<>();
|
Processor<FondListingsRequestParam> processor = new Processor<>();
|
||||||
List<Stage<FondListingsRequestParam>> pipeline = new ArrayList<>();
|
List<Stage<FondListingsRequestParam>> pipeline = new ArrayList<>();
|
||||||
pipeline.add(new PrepareSecurities());
|
pipeline.add(new PrepareIncomeSecurities());
|
||||||
pipeline.add(new PrepareIssuerCompanies());
|
pipeline.add(new PrepareIssuerCompanies());
|
||||||
pipeline.add(new ValidateIncomeSecurities());
|
pipeline.add(new ValidateIncomeSecurities());
|
||||||
pipeline.add(new ValidateIssuerCompanies());
|
pipeline.add(new ValidateIssuerCompanies());
|
||||||
|
|
|
||||||
|
|
@ -6,33 +6,36 @@ import io.swagger.annotations.ApiResponses;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import ru.spcex.clearing.gatewayapi.exception.GatewayException;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||||
import ru.spcex.clearing.gatewayapi.logic.Processor;
|
import ru.spcex.clearing.gatewayapi.logic.Processor;
|
||||||
import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesRequestParam;
|
import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesRequestParam;
|
||||||
import ru.spcex.clearing.gatewayapi.logic.listings_fond.FondListingsRequestParam;
|
import ru.spcex.clearing.gatewayapi.logic.listings_fond.FondListingsRequestParam;
|
||||||
import ru.spcex.clearing.gatewayapi.logic.listings_mm.MMListingsRequestParam;
|
import ru.spcex.clearing.gatewayapi.logic.listings_mm.MMListingsRequestParam;
|
||||||
import ru.spcex.clearing.gatewayapi.request.BaseRequest;
|
import ru.spcex.clearing.gatewayapi.request.CommonRequest;
|
||||||
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
||||||
import ru.spcex.clearing.gatewayapi.request.FondListingsRequest;
|
import ru.spcex.clearing.gatewayapi.request.FondListingsRequest;
|
||||||
import ru.spcex.clearing.gatewayapi.request.MMListingsRequest;
|
import ru.spcex.clearing.gatewayapi.request.MMListingsRequest;
|
||||||
import ru.spcex.clearing.gatewayapi.response.CommonResponse;
|
import ru.spcex.clearing.gatewayapi.response.CommonResponse;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/")
|
@RequestMapping("/")
|
||||||
public class GatewayController {
|
public class GatewayController {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
private final IMessageResolver messageResolver;
|
||||||
private final Processor<FondListingsRequestParam> fondListingsRequestProcessor;
|
private final Processor<FondListingsRequestParam> fondListingsRequestProcessor;
|
||||||
private final Processor<MMListingsRequestParam> mmListingsRequestProcessor;
|
private final Processor<MMListingsRequestParam> mmListingsRequestProcessor;
|
||||||
private final Processor<CompaniesRequestParam> companiesRequestProcessor;
|
private final Processor<CompaniesRequestParam> companiesRequestProcessor;
|
||||||
|
|
||||||
public GatewayController(
|
public GatewayController(
|
||||||
|
IMessageResolver messageResolver,
|
||||||
@Qualifier("fondListingsRequestProcessor")
|
@Qualifier("fondListingsRequestProcessor")
|
||||||
Processor<FondListingsRequestParam> fondListingsRequestProcessor,
|
Processor<FondListingsRequestParam> fondListingsRequestProcessor,
|
||||||
@Qualifier("mmListingsRequestProcessor")
|
@Qualifier("mmListingsRequestProcessor")
|
||||||
|
|
@ -40,13 +43,13 @@ public class GatewayController {
|
||||||
@Qualifier("companiesRequestProcessor")
|
@Qualifier("companiesRequestProcessor")
|
||||||
Processor<CompaniesRequestParam> companiesRequestProcessor
|
Processor<CompaniesRequestParam> companiesRequestProcessor
|
||||||
) {
|
) {
|
||||||
|
this.messageResolver = messageResolver;
|
||||||
this.fondListingsRequestProcessor = fondListingsRequestProcessor;
|
this.fondListingsRequestProcessor = fondListingsRequestProcessor;
|
||||||
this.mmListingsRequestProcessor = mmListingsRequestProcessor;
|
this.mmListingsRequestProcessor = mmListingsRequestProcessor;
|
||||||
this.companiesRequestProcessor = companiesRequestProcessor;
|
this.companiesRequestProcessor = companiesRequestProcessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Экспорт ценных бумаг в Клиринговую систему")
|
@ApiOperation(value = "Экспорт ценных бумаг в Клиринговую систему")
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
||||||
|
|
@ -60,14 +63,13 @@ public class GatewayController {
|
||||||
)
|
)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonResponse listingsFond(@RequestBody FondListingsRequest request) {
|
public CommonResponse listingsFond(@RequestBody FondListingsRequest request) {
|
||||||
CommonResponse commonResponse = createResponse(request);
|
|
||||||
FondListingsRequestParam requestParam = new FondListingsRequestParam(request);
|
FondListingsRequestParam requestParam = new FondListingsRequestParam(request);
|
||||||
ProcessResult processResult = fondListingsRequestProcessor.process(requestParam);
|
ProcessResult processResult = fondListingsRequestProcessor.process(requestParam);
|
||||||
return commonResponse;
|
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||||
|
return createResponse(request, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Экспорт спецификаций биржевых инструментов в Клиринговую систему")
|
@ApiOperation(value = "Экспорт спецификаций биржевых инструментов в Клиринговую систему")
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
||||||
|
|
@ -81,14 +83,13 @@ public class GatewayController {
|
||||||
)
|
)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonResponse listingsMM(@RequestBody MMListingsRequest request) {
|
public CommonResponse listingsMM(@RequestBody MMListingsRequest request) {
|
||||||
CommonResponse commonResponse = createResponse(request);
|
|
||||||
MMListingsRequestParam requestParam = new MMListingsRequestParam(request);
|
MMListingsRequestParam requestParam = new MMListingsRequestParam(request);
|
||||||
ProcessResult processResult = mmListingsRequestProcessor.process(requestParam);
|
ProcessResult processResult = mmListingsRequestProcessor.process(requestParam);
|
||||||
return commonResponse;
|
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||||
|
return createResponse(request, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Экспорт участников в клиринговую систему")
|
@ApiOperation(value = "Экспорт участников в клиринговую систему")
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
||||||
|
|
@ -102,22 +103,32 @@ public class GatewayController {
|
||||||
)
|
)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonResponse companies(@RequestBody CompaniesRequest request) {
|
public CommonResponse companies(@RequestBody CompaniesRequest request) {
|
||||||
CommonResponse commonResponse = createResponse(request);
|
|
||||||
CompaniesRequestParam requestParam = new CompaniesRequestParam(request);
|
CompaniesRequestParam requestParam = new CompaniesRequestParam(request);
|
||||||
ProcessResult processResult = companiesRequestProcessor.process(requestParam);
|
ProcessResult processResult = companiesRequestProcessor.process(requestParam);
|
||||||
return commonResponse;
|
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||||
|
return createResponse(request, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CommonResponse errorResponse() {
|
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
|
||||||
return null;
|
@ResponseBody
|
||||||
|
@ExceptionHandler(GatewayException.class)
|
||||||
|
public CommonResponse errorResponse(GatewayException exception) {
|
||||||
|
CommonResponse errorResponse = createResponse(exception.getIncomeRequest(), false);
|
||||||
|
errorResponse.setCode(exception.getError().getId());
|
||||||
|
errorResponse.setMessage(messageResolver.resolve(new EnumMessage(exception.getError(), exception.getErrorArgs())));
|
||||||
|
return errorResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
private CommonResponse createResponse(BaseRequest request) {
|
private CommonResponse createResponse(CommonRequest request, boolean success) {
|
||||||
CommonResponse commonResponse = new CommonResponse();
|
CommonResponse commonResponse = new CommonResponse();
|
||||||
commonResponse.setId(request.getId());
|
commonResponse.setId(request.getId());
|
||||||
commonResponse.setType(request.getType());
|
commonResponse.setType(request.getType());
|
||||||
commonResponse.setDatetime(request.getDatetime());
|
commonResponse.setDatetime(request.getDatetime());
|
||||||
commonResponse.setSection(request.getSection());
|
commonResponse.setSection(request.getSection());
|
||||||
|
if (success) {
|
||||||
|
commonResponse.setCode(0L);
|
||||||
|
commonResponse.setMessage("success");
|
||||||
|
}
|
||||||
return commonResponse;
|
return commonResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.gatewayapi.errors;
|
||||||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
|
|
||||||
public enum GatewayError implements IErrorEnumId {
|
public enum GatewayError implements IErrorEnumId {
|
||||||
|
InternalError(6000L),
|
||||||
UserVerifyDenial(6443L),
|
UserVerifyDenial(6443L),
|
||||||
CompanyNotFound(6001L),
|
CompanyNotFound(6001L),
|
||||||
SecurityNotFound(6002L),
|
SecurityNotFound(6002L),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,29 @@
|
||||||
package ru.spcex.clearing.gatewayapi.exception;
|
package ru.spcex.clearing.gatewayapi.exception;
|
||||||
|
|
||||||
public class GatewayException extends RuntimeException {
|
|
||||||
|
|
||||||
|
import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
|
import ru.spcex.clearing.gatewayapi.request.CommonRequest;
|
||||||
|
|
||||||
|
public class GatewayException extends RuntimeException {
|
||||||
|
private final CommonRequest incomeRequest;
|
||||||
|
private final Object[] errorArgs;
|
||||||
|
private final GatewayError error;
|
||||||
|
|
||||||
|
public GatewayException(CommonRequest incomeRequest, GatewayError error, Object ... args) {
|
||||||
|
this.error = error;
|
||||||
|
this.incomeRequest = incomeRequest;
|
||||||
|
this.errorArgs = args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CommonRequest getIncomeRequest() {
|
||||||
|
return incomeRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GatewayError getError() {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object[] getErrorArgs() {
|
||||||
|
return errorArgs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,15 @@ import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
|
|
||||||
public class ProcessResult {
|
public class ProcessResult {
|
||||||
private GatewayError error = null;
|
private GatewayError error = null;
|
||||||
|
private Object[] errorArgs;
|
||||||
|
|
||||||
|
public ProcessResult() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProcessResult(GatewayError error, Object ... errorArgs) {
|
||||||
|
this.error = error;
|
||||||
|
}
|
||||||
|
|
||||||
public GatewayError getError() {
|
public GatewayError getError() {
|
||||||
return error;
|
return error;
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,26 @@
|
||||||
package ru.spcex.clearing.gatewayapi.logic;
|
package ru.spcex.clearing.gatewayapi.logic;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class Processor<T> {
|
public class Processor<T> {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private List<Stage<T>> pipeline;
|
private List<Stage<T>> pipeline;
|
||||||
|
|
||||||
public ProcessResult process(T param) {
|
public ProcessResult process(T param) {
|
||||||
for (Stage<T> stage : pipeline) {
|
try {
|
||||||
ProcessResult processResult = stage.process(param);
|
for (Stage<T> stage : pipeline) {
|
||||||
if (processResult != null) return processResult;
|
ProcessResult processResult = stage.process(param);
|
||||||
|
if (processResult != null) return processResult;
|
||||||
|
}
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
log.error("", e);
|
||||||
|
return new ProcessResult(GatewayError.InternalError);
|
||||||
}
|
}
|
||||||
return null;
|
return new ProcessResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Stage<T>> getPipeline() {
|
public List<Stage<T>> getPipeline() {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.gatewayapi.logic.listings_fond;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
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.*;
|
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||||
|
|
@ -12,7 +13,7 @@ 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<FondListingsRequestParam> {
|
public class PrepareIncomeSecurities extends Stage<FondListingsRequestParam> {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -72,7 +73,9 @@ public class PrepareSecurities extends Stage<FondListingsRequestParam> {
|
||||||
.filter(incomeSecurity -> !incomeSecurity.isInvalidData())
|
.filter(incomeSecurity -> !incomeSecurity.isInvalidData())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// todo check list is empty
|
if (filteredIncomeSecurities.isEmpty()) {
|
||||||
|
return new ProcessResult(GatewayError.SecurityNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
param.setSecurities(filteredIncomeSecurities);
|
param.setSecurities(filteredIncomeSecurities);
|
||||||
|
|
||||||
|
|
@ -93,8 +93,6 @@ public class PrepareIssuerCompanies extends Stage<FondListingsRequestParam> {
|
||||||
.filter(issuerCompany -> !issuerCompany.isInvalidData())
|
.filter(issuerCompany -> !issuerCompany.isInvalidData())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// todo check list is empty
|
|
||||||
|
|
||||||
param.setIssuerCompanyList(filteredIssuerCompany);
|
param.setIssuerCompanyList(filteredIssuerCompany);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ 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;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
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;
|
||||||
|
|
@ -160,7 +161,9 @@ public class ValidateIncomeSecurities extends Stage<FondListingsRequestParam> {
|
||||||
.filter(incomeSecurity -> !incomeSecurity.isInvalidData())
|
.filter(incomeSecurity -> !incomeSecurity.isInvalidData())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// todo check list is empty
|
if (filteredIncomeSecurities.isEmpty()) {
|
||||||
|
return new ProcessResult(GatewayError.SecurityNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
param.setSecurities(filteredIncomeSecurities);
|
param.setSecurities(filteredIncomeSecurities);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.gatewayapi.logic.listings_mm;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import ru.spcex.clearing.gatewayapi.errors.GatewayError;
|
||||||
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.DirAuctionBiddingType;
|
import ru.spcex.clearing.gatewayapi.request.objects.DirAuctionBiddingType;
|
||||||
|
|
@ -97,7 +98,9 @@ public class PrepareExchangeInstruments extends Stage<MMListingsRequestParam> {
|
||||||
.filter(exchangeInstrument -> !exchangeInstrument.isInvalidData())
|
.filter(exchangeInstrument -> !exchangeInstrument.isInvalidData())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// todo check list is empty
|
if (filteredExchangeInstrument.isEmpty()) {
|
||||||
|
return new ProcessResult(GatewayError.SecurityNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
param.setExchangeInstrumentsList(filteredExchangeInstrument);
|
param.setExchangeInstrumentsList(filteredExchangeInstrument);
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import ru.spcex.clearing.gatewayapi.config.deserializers.InstantDeserializer;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class BaseRequest {
|
public class CommonRequest {
|
||||||
|
|
||||||
@JsonProperty("id")
|
@JsonProperty("id")
|
||||||
@ApiModelProperty(
|
@ApiModelProperty(
|
||||||
|
|
@ -4,36 +4,37 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class CompaniesRequest extends BaseRequest {
|
public class CompaniesRequest extends CommonRequest {
|
||||||
@JsonProperty("company")
|
@JsonProperty("company")
|
||||||
@ApiModelProperty(value = "Список компаний")
|
@ApiModelProperty(value = "Список компаний")
|
||||||
private List<MemberCompany> companyList;
|
private List<MemberCompany> companyList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company_info")
|
@JsonProperty("company_info")
|
||||||
@ApiModelProperty(value = "Список профилей участников")
|
@ApiModelProperty(value = "Список профилей участников")
|
||||||
private List<MemberCompanyInfo> companyInfoList;
|
private List<MemberCompanyInfo> companyInfoList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company_clearing_category")
|
@JsonProperty("company_clearing_category")
|
||||||
@ApiModelProperty(value = "Список категорий участников клиринга")
|
@ApiModelProperty(value = "Список категорий участников клиринга")
|
||||||
private List<MemberCompanyClearingCategory> companyClearingCategoryList;
|
private List<MemberCompanyClearingCategory> companyClearingCategoryList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company_symbols")
|
@JsonProperty("company_symbols")
|
||||||
@ApiModelProperty(value = "Список реквизитов участников")
|
@ApiModelProperty(value = "Список реквизитов участников")
|
||||||
private List<MemberCompanySymbols> memberCompanySymbolsList;
|
private List<MemberCompanySymbols> memberCompanySymbolsList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("contact")
|
@JsonProperty("contact")
|
||||||
@ApiModelProperty(value = "Список контактов участников")
|
@ApiModelProperty(value = "Список контактов участников")
|
||||||
private List<MemberContact> contactList;
|
private List<MemberContact> contactList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("profile_document")
|
@JsonProperty("profile_document")
|
||||||
@ApiModelProperty(value = "Список документов участников")
|
@ApiModelProperty(value = "Список документов участников")
|
||||||
private List<MemberProfileDocument> memberProfileDocumentList;
|
private List<MemberProfileDocument> memberProfileDocumentList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("client")
|
@JsonProperty("client")
|
||||||
@ApiModelProperty(value = "Список клиентов участников")
|
@ApiModelProperty(value = "Список клиентов участников")
|
||||||
private List<MemberClient> memberClientList;
|
private List<MemberClient> memberClientList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public List<MemberCompany> getCompanyList() {
|
public List<MemberCompany> getCompanyList() {
|
||||||
|
|
|
||||||
|
|
@ -4,44 +4,45 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class FondListingsRequest extends BaseRequest {
|
public class FondListingsRequest extends CommonRequest {
|
||||||
@JsonProperty("security")
|
@JsonProperty("security")
|
||||||
@ApiModelProperty(value = "Список инструментов")
|
@ApiModelProperty(value = "Список инструментов")
|
||||||
private List<FondSecurity> securities;
|
private List<FondSecurity> securities = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("coupon_schedule")
|
@JsonProperty("coupon_schedule")
|
||||||
@ApiModelProperty(value = "Список coupon_schedule")
|
@ApiModelProperty(value = "Список coupon_schedule")
|
||||||
private List<CouponSchedule> couponSchedules;
|
private List<CouponSchedule> couponSchedules = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("currency")
|
@JsonProperty("currency")
|
||||||
@ApiModelProperty(value = "Список валют")
|
@ApiModelProperty(value = "Список валют")
|
||||||
private List<Currency> currencies;
|
private List<Currency> currencies = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("listing")
|
@JsonProperty("listing")
|
||||||
@ApiModelProperty(value = "Список режимов торгов")
|
@ApiModelProperty(value = "Список режимов торгов")
|
||||||
private List<IncomeListing> listingList;
|
private List<IncomeListing> listingList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("nominal")
|
@JsonProperty("nominal")
|
||||||
@ApiModelProperty(value = "Список nominal")
|
@ApiModelProperty(value = "Список nominal")
|
||||||
private List<Nominal> nominalList;
|
private List<Nominal> nominalList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company")
|
@JsonProperty("company")
|
||||||
@ApiModelProperty(value = "Список компаний эмитентов")
|
@ApiModelProperty(value = "Список компаний эмитентов")
|
||||||
private List<IssuerCompany> issuerCompanyList;
|
private List<IssuerCompany> issuerCompanyList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company_info")
|
@JsonProperty("company_info")
|
||||||
@ApiModelProperty(value = "Список профилей компаний эмитентов")
|
@ApiModelProperty(value = "Список профилей компаний эмитентов")
|
||||||
private List<IssuerCompanyInfo> issuerCompanyInfoList;
|
private List<IssuerCompanyInfo> issuerCompanyInfoList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("company_symbols")
|
@JsonProperty("company_symbols")
|
||||||
@ApiModelProperty(value = "Список реквизитов компаний эмитентов")
|
@ApiModelProperty(value = "Список реквизитов компаний эмитентов")
|
||||||
private List<IssuerCompanySymbols> issuerCompanySymbolsList;
|
private List<IssuerCompanySymbols> issuerCompanySymbolsList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("contact")
|
@JsonProperty("contact")
|
||||||
@ApiModelProperty(value = "Список контактов компаний эмитентов")
|
@ApiModelProperty(value = "Список контактов компаний эмитентов")
|
||||||
private List<IssuerContact> issuerContactList;
|
private List<IssuerContact> issuerContactList = new ArrayList<>();
|
||||||
|
|
||||||
public List<FondSecurity> getSecurities() {
|
public List<FondSecurity> getSecurities() {
|
||||||
return securities;
|
return securities;
|
||||||
|
|
|
||||||
|
|
@ -4,28 +4,29 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MMListingsRequest extends BaseRequest {
|
public class MMListingsRequest extends CommonRequest {
|
||||||
@JsonProperty("exchange_instrument")
|
@JsonProperty("exchange_instrument")
|
||||||
@ApiModelProperty(value = "Список инструментов")
|
@ApiModelProperty(value = "Список инструментов")
|
||||||
private List<ExchangeInstrument> exchangeInstrumentList;
|
private List<ExchangeInstrument> exchangeInstrumentList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("dir_auction_bidding_type")
|
@JsonProperty("dir_auction_bidding_type")
|
||||||
@ApiModelProperty(value = "Справочник «Тип аукциона или торгов»")
|
@ApiModelProperty(value = "Справочник «Тип аукциона или торгов»")
|
||||||
private List<DirAuctionBiddingType> dirAuctionBiddingTypeList;
|
private List<DirAuctionBiddingType> dirAuctionBiddingTypeList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("dir_currency_code")
|
@JsonProperty("dir_currency_code")
|
||||||
@ApiModelProperty(value = "Справочник «Коды валют»")
|
@ApiModelProperty(value = "Справочник «Коды валют»")
|
||||||
private List<DirCurrencyCode> dirCurrencyCodeList;
|
private List<DirCurrencyCode> dirCurrencyCodeList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("trading_mode")
|
@JsonProperty("trading_mode")
|
||||||
@ApiModelProperty(value = "Список режимов торгов Спецификации биржевого инструмента")
|
@ApiModelProperty(value = "Список режимов торгов Спецификации биржевого инструмента")
|
||||||
private List<TradingMode> tradingModeList;
|
private List<TradingMode> tradingModeList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonProperty("dir_trading_mode_mkr")
|
@JsonProperty("dir_trading_mode_mkr")
|
||||||
@ApiModelProperty(value = "Справочник «Режимы торгов МКР»")
|
@ApiModelProperty(value = "Справочник «Режимы торгов МКР»")
|
||||||
private List<DirTradingModeMkr> dirTradingModeMkrList;
|
private List<DirTradingModeMkr> dirTradingModeMkrList = new ArrayList<>();
|
||||||
|
|
||||||
public List<ExchangeInstrument> getExchangeInstrumentList() {
|
public List<ExchangeInstrument> getExchangeInstrumentList() {
|
||||||
return exchangeInstrumentList;
|
return exchangeInstrumentList;
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,6 @@ import java.util.UUID;
|
||||||
|
|
||||||
@ApiModel(description = "Базовый формат ответа")
|
@ApiModel(description = "Базовый формат ответа")
|
||||||
public class CommonResponse {
|
public class CommonResponse {
|
||||||
@JsonProperty("code")
|
|
||||||
@ApiModelProperty(value = "Код ответа", example = "200")
|
|
||||||
private Integer code;
|
|
||||||
|
|
||||||
@JsonProperty("id")
|
@JsonProperty("id")
|
||||||
@ApiModelProperty(
|
@ApiModelProperty(
|
||||||
value = "Значение соответствует полученному из запроса",
|
value = "Значение соответствует полученному из запроса",
|
||||||
|
|
@ -43,6 +39,12 @@ public class CommonResponse {
|
||||||
)
|
)
|
||||||
private String section;
|
private String section;
|
||||||
|
|
||||||
|
@JsonProperty("code")
|
||||||
|
private Long code;
|
||||||
|
|
||||||
|
@JsonProperty("message")
|
||||||
|
private String message;
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
@ -75,11 +77,19 @@ public class CommonResponse {
|
||||||
this.section = section;
|
this.section = section;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getCode() {
|
public Long getCode() {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCode(Integer code) {
|
public void setCode(Long code) {
|
||||||
this.code = code;
|
this.code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue