.
This commit is contained in:
parent
0d9ae577df
commit
8a6ae8dcda
35 changed files with 2590 additions and 0 deletions
94
clearing-parent/gateway-api/pom.xml
Normal file
94
clearing-parent/gateway-api/pom.xml
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-1.0.0.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>gateway-api</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-imdg-api-hazelcast-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-messaging</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>dictionary</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-enum</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.21.0</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.junit.platform</groupId>
|
||||
<artifactId>junit-platform-surefire-provider</artifactId>
|
||||
<version>1.2.0-M1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<version>5.2.0-M1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package ru.spcex.clearing.gatewayapi;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletException;
|
||||
|
||||
@SpringBootApplication
|
||||
public class GatewayApiApplication extends SpringBootServletInitializer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication app = new SpringApplication(GatewayApiApplication.class);
|
||||
app.run(args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartup(ServletContext servletContext) throws ServletException {
|
||||
super.onStartup(servletContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
||||
return builder.sources(GatewayApiApplication.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WebApplicationContext run(SpringApplication application) {
|
||||
return super.run(application);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package ru.spcex.clearing.gatewayapi.config;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings;
|
||||
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
|
||||
|
||||
@Component
|
||||
@PropertySource("file:${spring.config.location}/application.properties")
|
||||
@ConfigurationProperties("backend-api")
|
||||
public class GatewayApiSettings {
|
||||
private HazelcastClientParams hazelcast;
|
||||
private KafkaProducerSettings kafkaProducer;
|
||||
private KafkaConsumerSettings kafkaConsumer;
|
||||
|
||||
public HazelcastClientParams getHazelcast() {
|
||||
return hazelcast;
|
||||
}
|
||||
|
||||
public void setHazelcast(HazelcastClientParams hazelcast) {
|
||||
this.hazelcast = hazelcast;
|
||||
}
|
||||
|
||||
public KafkaProducerSettings getKafkaProducer() {
|
||||
return kafkaProducer;
|
||||
}
|
||||
|
||||
public void setKafkaProducer(KafkaProducerSettings kafkaProducer) {
|
||||
this.kafkaProducer = kafkaProducer;
|
||||
}
|
||||
|
||||
public KafkaConsumerSettings getKafkaConsumer() {
|
||||
return kafkaConsumer;
|
||||
}
|
||||
|
||||
public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) {
|
||||
this.kafkaConsumer = kafkaConsumer;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.spcex.clearing.gatewayapi.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
@Configuration
|
||||
@EnableWebMvc
|
||||
public class WebConfig implements WebMvcConfigurer {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package ru.spcex.clearing.gatewayapi.config.deserializers;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
public class InstantDeserializer extends JsonDeserializer<Instant> {
|
||||
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss:SSS");
|
||||
|
||||
@Override
|
||||
public Instant deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
String date = p.getText();
|
||||
if (date == null || date.trim().length() == 0) {
|
||||
return null;
|
||||
}
|
||||
return TimeUtil.parseInstantDateAndTime(date, formatter);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package ru.spcex.clearing.gatewayapi.config.deserializers;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
public class LocalDateDeserializer extends JsonDeserializer<LocalDate> {
|
||||
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||
|
||||
@Override
|
||||
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
String date = p.getText();
|
||||
if (date == null || date.trim().length() == 0) {
|
||||
return null;
|
||||
}
|
||||
return LocalDate.parse(date, formatter);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.spcex.clearing.gatewayapi.controller;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.spcex.clearing.gatewayapi.request.FullRequest;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/")
|
||||
public class GatewayController {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@ApiOperation(value = "Test gateway post request")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = String.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = String.class)})
|
||||
@RequestMapping(path = "/inbound_request", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.TEXT_PLAIN_VALUE)
|
||||
@ResponseBody
|
||||
public String inboundRequest(@RequestBody FullRequest request) {
|
||||
log.info("toString: {}", request.toString());
|
||||
log.info("Call test method for gateway-api controller");
|
||||
return "gateway-api controller test method";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package ru.spcex.clearing.gatewayapi.controller;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/")
|
||||
public class TestController {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@ApiOperation(value = "Test gateway-api availability.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = String.class)})
|
||||
@RequestMapping(method = RequestMethod.GET, path = "/system/ping", produces = MediaType.TEXT_PLAIN_VALUE)
|
||||
@ResponseBody
|
||||
public String processGet() {
|
||||
log.info("Call test method for gateway-api controller");
|
||||
return "gateway-api controller test method";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
package ru.spcex.clearing.gatewayapi.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.InstantDeserializer;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
||||
public class FullRequest {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать новый UUID, если процесс стартовал по расписанию, или UUID, возвращенный в Клиринговую
|
||||
систему в ответ на запрос Клиринговой системы об экспорте ценных бумаг (см. п. «Сигнальный REST API»),
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120002"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать «DAY_START», если процесс стартовал по расписанию, или «ON_DEMAND»,
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "DAY_START"
|
||||
)
|
||||
private String type;
|
||||
|
||||
@JsonProperty("datetime")
|
||||
@JsonDeserialize(using = InstantDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Передавать дату и время формирования JSON объекта в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС:ссс».",
|
||||
example = "01.01.2023 12:34:56:789"
|
||||
)
|
||||
private Instant datetime;
|
||||
|
||||
@JsonProperty("section")
|
||||
@ApiModelProperty(
|
||||
value = "Секция (FOND или MKR)", example = "FOND"
|
||||
)
|
||||
private String section;
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Instant getDatetime() {
|
||||
return datetime;
|
||||
}
|
||||
|
||||
public void setDatetime(Instant datetime) {
|
||||
this.datetime = datetime;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class Client {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("client_code")
|
||||
@ApiModelProperty(
|
||||
value = "Код клиента",
|
||||
example = "CLI001"
|
||||
)
|
||||
private String clientCode;
|
||||
|
||||
@JsonProperty("money_account")
|
||||
@ApiModelProperty(
|
||||
value = "Денежный счет клиента",
|
||||
example = "1234567890"
|
||||
)
|
||||
private String moneyAccount;
|
||||
|
||||
@JsonProperty("depo_account")
|
||||
@ApiModelProperty(
|
||||
value = "Бумажный счет клиента",
|
||||
example = "2223334449"
|
||||
)
|
||||
private String depoAccount;
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getClientCode() {
|
||||
return clientCode;
|
||||
}
|
||||
|
||||
public void setClientCode(String clientCode) {
|
||||
this.clientCode = clientCode;
|
||||
}
|
||||
|
||||
public String getMoneyAccount() {
|
||||
return moneyAccount;
|
||||
}
|
||||
|
||||
public void setMoneyAccount(String moneyAccount) {
|
||||
this.moneyAccount = moneyAccount;
|
||||
}
|
||||
|
||||
public String getDepoAccount() {
|
||||
return depoAccount;
|
||||
}
|
||||
|
||||
public void setDepoAccount(String depoAccount) {
|
||||
this.depoAccount = depoAccount;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class Company {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "Идентификатор Эмитента в Модуле регистрации биржевых инструментов",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("short_name")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Сокращенное наименование на русском языке",
|
||||
example = "Банк ВТБ (ПАО)"
|
||||
)
|
||||
private String shortName;
|
||||
|
||||
@JsonProperty("full_name")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Полное наименование на русском языке",
|
||||
example = "Банк ВТБ (публичное акционерное общество)"
|
||||
)
|
||||
private String fullName;
|
||||
|
||||
@JsonProperty("trading_code")
|
||||
@ApiModelProperty(
|
||||
value = "Биржевой код участника",
|
||||
example = "49"
|
||||
)
|
||||
private String tradingCode;
|
||||
|
||||
@JsonProperty("clearing_code")
|
||||
@ApiModelProperty(
|
||||
value = "Краткий клиринговый код участника клиринга. Заполняется, если участник является участником клиринга.",
|
||||
example = "49"
|
||||
)
|
||||
private String clearingCode;
|
||||
|
||||
@JsonProperty("registration_code")
|
||||
@ApiModelProperty(
|
||||
value = "Регистрационный код участника",
|
||||
example = "E/I/7702070139///////1/044525187"
|
||||
)
|
||||
private String registrationCode;
|
||||
|
||||
@JsonProperty("initiator_code")
|
||||
@ApiModelProperty(
|
||||
value = "Код инициатора. Заполняется, если участник является инициатором.",
|
||||
example = "AB"
|
||||
)
|
||||
private String initiatorCode;
|
||||
|
||||
@JsonProperty("workflow_status")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«ACTV», если Эмитент не удален
|
||||
«BLKD», если Эмитент удален
|
||||
""",
|
||||
example = "ACTV"
|
||||
)
|
||||
private String workflowStatus;
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getRegistrationCode() {
|
||||
return registrationCode;
|
||||
}
|
||||
|
||||
public void setRegistrationCode(String registrationCode) {
|
||||
this.registrationCode = registrationCode;
|
||||
}
|
||||
|
||||
public String getInitiatorCode() {
|
||||
return initiatorCode;
|
||||
}
|
||||
|
||||
public void setInitiatorCode(String initiatorCode) {
|
||||
this.initiatorCode = initiatorCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class CompanyClearingCategory {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("category")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Категория клирингового обслуживания. Возможные значения:
|
||||
· C - Категория «Ц»
|
||||
· B - Категория «Б»
|
||||
· F - Категория «Ф»
|
||||
· I - Категория «И»
|
||||
· V - Категория «В»
|
||||
· T - Категория «Т»
|
||||
· K - Категория «К»
|
||||
""",
|
||||
example = "F"
|
||||
)
|
||||
private String category;
|
||||
|
||||
@JsonProperty("workflow_status")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Статус допуска к категории на текущую дату. Возможные значения:
|
||||
· ACTV – Участник клиринга
|
||||
· APPL – Допущен к клиринговому обслуживанию
|
||||
· SSPD – Допуск приостановлен
|
||||
· ROPN – Допуск возобновлен
|
||||
· CLOS – Допуск прекращен
|
||||
""",
|
||||
example = "CLOS"
|
||||
)
|
||||
private String workflowStatus;
|
||||
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
public void setCategory(String category) {
|
||||
this.category = category;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class CompanyInfo {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("country_code")
|
||||
@ApiModelProperty(value = "RUS", example = "RUS")
|
||||
private String countryCode;
|
||||
|
||||
@JsonProperty("legal_kind")
|
||||
@ApiModelProperty(
|
||||
value = "Вид субъекта. Всегда «JURD» (Юридическое лицо)",
|
||||
example = "JURD"
|
||||
)
|
||||
private String legalKind;
|
||||
|
||||
@JsonProperty("organization_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Признак кредитной организации. Возможные значения:
|
||||
· «CRED» - является кредитной организацией
|
||||
· «NCRD» - не является кредитной организациейe
|
||||
""",
|
||||
example = "CRED"
|
||||
)
|
||||
private String organizationType;
|
||||
|
||||
@JsonProperty("professional_sign")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Признак проф. участника. Возможные значения:
|
||||
· ALWD – Да
|
||||
· DEND - Нет
|
||||
""",
|
||||
example = "DNED"
|
||||
)
|
||||
private String professionalSign;
|
||||
|
||||
@JsonProperty("residence")
|
||||
@ApiModelProperty(
|
||||
value = "Резиденция. Трехсимвольный код страны из классификатора ОКСМ.",
|
||||
example = "RUS"
|
||||
)
|
||||
private String residence;
|
||||
|
||||
@JsonProperty("short_name_eng")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Сокращенное наименование на английском языке",
|
||||
example = "VTB (PJSC)"
|
||||
)
|
||||
private String shortNameEng;
|
||||
|
||||
@JsonProperty("full_name_eng")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Полное наименование на английском языке",
|
||||
example = "VTB (public joint stock company)"
|
||||
)
|
||||
private String fullNameEng;
|
||||
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCountryCode() {
|
||||
return countryCode;
|
||||
}
|
||||
|
||||
public void setCountryCode(String countryCode) {
|
||||
this.countryCode = countryCode;
|
||||
}
|
||||
|
||||
public String getLegalKind() {
|
||||
return legalKind;
|
||||
}
|
||||
|
||||
public void setLegalKind(String legalKind) {
|
||||
this.legalKind = legalKind;
|
||||
}
|
||||
|
||||
public String getOrganizationType() {
|
||||
return organizationType;
|
||||
}
|
||||
|
||||
public void setOrganizationType(String organizationType) {
|
||||
this.organizationType = organizationType;
|
||||
}
|
||||
|
||||
public String getResidence() {
|
||||
return residence;
|
||||
}
|
||||
|
||||
public void setResidence(String residence) {
|
||||
this.residence = residence;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getProfessionalSign() {
|
||||
return professionalSign;
|
||||
}
|
||||
|
||||
public void setProfessionalSign(String professionalSign) {
|
||||
this.professionalSign = professionalSign;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class CompanySymbols {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("company_symbol")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Тип реквизита. Возможные значения:
|
||||
· INN - Индивидуальный налоговый номер (ИНН)
|
||||
· CIO - Код иностранной организации (КИО)
|
||||
· OGRN - Основной государственный регистрационный номер (ОГРН)
|
||||
· CPP - Код причины постановки (КПП)
|
||||
· OCPO - Общероссийский классификатор предприятий и организаций (ОКПО)
|
||||
· BIC - Банковский идентификационный код (БИК)
|
||||
· LICB - Номер банковской лицензии (Лицензия банка)
|
||||
· LICR – Номер брокерской лицензии
|
||||
· LICD - Номер дилерской лицензии
|
||||
· LICT - Номер лицензии по управлению ЦБ
|
||||
· LICС - Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)
|
||||
· LICF - Номер лицензии форекс-дилера
|
||||
""",
|
||||
example = "INN"
|
||||
)
|
||||
private String companySymbol;
|
||||
|
||||
@JsonProperty("company_symbol_value")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Значения для company_symbol:
|
||||
Для OCVD - Регистрационные данные\\ОКВЭД
|
||||
Для INN - Основные сведения\\ИНН
|
||||
Для CPP - Основные сведения\\КПП
|
||||
Для OCPO - Основные сведения\\ОКПО
|
||||
Для BIC - Основные сведения\\БИК
|
||||
Для OGRN - Основные сведения\\ОГРН
|
||||
""",
|
||||
example = "7702070139"
|
||||
)
|
||||
private String companySymbolValue;
|
||||
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCompanySymbol() {
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
public void setCompanySymbol(String companySymbol) {
|
||||
this.companySymbol = companySymbol;
|
||||
}
|
||||
|
||||
public String getCompanySymbolValue() {
|
||||
return companySymbolValue;
|
||||
}
|
||||
|
||||
public void setCompanySymbolValue(String companySymbolValue) {
|
||||
this.companySymbolValue = companySymbolValue;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class Contact {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на компанию",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("contact_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать строки:
|
||||
· ADRS
|
||||
· POST
|
||||
· CONT
|
||||
· MAIL
|
||||
· GDIR
|
||||
· TRST
|
||||
· FAX
|
||||
· INFO
|
||||
· WEB
|
||||
""",
|
||||
example = "WEB"
|
||||
)
|
||||
private String contactType;
|
||||
|
||||
@JsonProperty("contact_value")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Значения для contact_type:
|
||||
Для ADRS - Контакты\\Юридический адрес
|
||||
Для POST - Контакты\\Почтовый адрес
|
||||
Для CONT - Контакты\\ФИО контактного лица
|
||||
Для MAIL - Контакты\\Адрес электронной почты
|
||||
Для GDIR - Контакты\\ФИО руководителя + «, » + Должность руководителя + «, » + Телефон руководителя
|
||||
Для TRST - Контакты\\ФИО отв. за фондовую деятельность + «, » + Должность отв. за фондовую деятельность + «, » + Телефон отв. за фондовую деятельность
|
||||
Для FAX - Контакты\\Факс
|
||||
Для INFO - Контакты\\ФИО контактного лица + «, » + Должность контактного лица + «, » + Эл. почта контактного лица + «, » + Телефон контактного лица
|
||||
Для WEB - Контакты\\Веб-сайт
|
||||
""",
|
||||
example = "example@ex.ample"
|
||||
)
|
||||
private String contactValue;
|
||||
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getContactType() {
|
||||
return contactType;
|
||||
}
|
||||
|
||||
public void setContactType(String contactType) {
|
||||
this.contactType = contactType;
|
||||
}
|
||||
|
||||
public String getContactValue() {
|
||||
return contactValue;
|
||||
}
|
||||
|
||||
public void setContactValue(String contactValue) {
|
||||
this.contactValue = contactValue;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class CouponSchedule {
|
||||
@JsonProperty("security_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на security",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID securityId;
|
||||
|
||||
@JsonProperty("period_start_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата начала купонного периода, формат «ДД.ММ.ГГГГ»",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate periodStartDate;
|
||||
|
||||
@JsonProperty("period_end_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата выплаты купона, формат «ДД.ММ.ГГГГ»",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate periodEndDate;
|
||||
|
||||
@JsonProperty("coupon_rate")
|
||||
@ApiModelProperty(
|
||||
value = "Процентная ставка",
|
||||
example = "7.5"
|
||||
)
|
||||
private BigDecimal couponRate;
|
||||
|
||||
@JsonProperty("coupon_number")
|
||||
@ApiModelProperty(
|
||||
value = "Порядковый номер",
|
||||
example = "100"
|
||||
)
|
||||
private Long couponNumber;
|
||||
|
||||
@JsonProperty("coupon_currency")
|
||||
@ApiModelProperty(
|
||||
value = "Валюта",
|
||||
example = "RUB"
|
||||
)
|
||||
private String couponCurrency;
|
||||
|
||||
@JsonProperty("accrued_coupon")
|
||||
@ApiModelProperty(
|
||||
value = "Сумма",
|
||||
example = "100.15"
|
||||
)
|
||||
private BigDecimal accruedCoupon;
|
||||
|
||||
@JsonProperty("is_deleted")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
true, если Купон удален
|
||||
false, если Купон не удален
|
||||
""",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean isDeleted;
|
||||
|
||||
|
||||
public UUID getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(UUID securityId) {
|
||||
this.securityId = securityId;
|
||||
}
|
||||
|
||||
public LocalDate getPeriodStartDate() {
|
||||
return periodStartDate;
|
||||
}
|
||||
|
||||
public void setPeriodStartDate(LocalDate periodStartDate) {
|
||||
this.periodStartDate = periodStartDate;
|
||||
}
|
||||
|
||||
public LocalDate getPeriodEndDate() {
|
||||
return periodEndDate;
|
||||
}
|
||||
|
||||
public void setPeriodEndDate(LocalDate periodEndDate) {
|
||||
this.periodEndDate = periodEndDate;
|
||||
}
|
||||
|
||||
public BigDecimal getCouponRate() {
|
||||
return couponRate;
|
||||
}
|
||||
|
||||
public void setCouponRate(BigDecimal couponRate) {
|
||||
this.couponRate = couponRate;
|
||||
}
|
||||
|
||||
public Long getCouponNumber() {
|
||||
return couponNumber;
|
||||
}
|
||||
|
||||
public void setCouponNumber(Long couponNumber) {
|
||||
this.couponNumber = couponNumber;
|
||||
}
|
||||
|
||||
public String getCouponCurrency() {
|
||||
return couponCurrency;
|
||||
}
|
||||
|
||||
public void setCouponCurrency(String couponCurrency) {
|
||||
this.couponCurrency = couponCurrency;
|
||||
}
|
||||
|
||||
public BigDecimal getAccruedCoupon() {
|
||||
return accruedCoupon;
|
||||
}
|
||||
|
||||
public void setAccruedCoupon(BigDecimal accruedCoupon) {
|
||||
this.accruedCoupon = accruedCoupon;
|
||||
}
|
||||
|
||||
public Boolean getDeleted() {
|
||||
return isDeleted;
|
||||
}
|
||||
|
||||
public void setDeleted(Boolean deleted) {
|
||||
isDeleted = deleted;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class Currency {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "id",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120005"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("currency_code")
|
||||
@ApiModelProperty(
|
||||
value = "Значение из справочника «Коды валют» (dir_currency_code) dir_currency_code.letter_code",
|
||||
example = "RUB"
|
||||
)
|
||||
private String currencyCode;
|
||||
|
||||
@JsonProperty("currency_code_numeric")
|
||||
@ApiModelProperty(
|
||||
value = "Значение из справочника «Коды валют» (dir_currency_code) dir_currency_code.numeric_code",
|
||||
example = "643"
|
||||
)
|
||||
private String currencyCodeNumeric;
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCurrencyCode() {
|
||||
return currencyCode;
|
||||
}
|
||||
|
||||
public void setCurrencyCode(String currencyCode) {
|
||||
this.currencyCode = currencyCode;
|
||||
}
|
||||
|
||||
public String getCurrencyCodeNumeric() {
|
||||
return currencyCodeNumeric;
|
||||
}
|
||||
|
||||
public void setCurrencyCodeNumeric(String currencyCodeNumeric) {
|
||||
this.currencyCodeNumeric = currencyCodeNumeric;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DirAuctionBiddingType {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "id",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("type_code")
|
||||
@ApiModelProperty(
|
||||
value = "Тип",
|
||||
example = "D"
|
||||
)
|
||||
private String typeCode;
|
||||
|
||||
@JsonProperty("name")
|
||||
@ApiModelProperty(
|
||||
value = "Наименование",
|
||||
example = "Депозитный аукцион"
|
||||
)
|
||||
private String name;
|
||||
|
||||
@JsonProperty("is_deleted")
|
||||
@ApiModelProperty(
|
||||
value = "Флаг удалённости",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean isDeleted;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTypeCode() {
|
||||
return typeCode;
|
||||
}
|
||||
|
||||
public void setTypeCode(String typeCode) {
|
||||
this.typeCode = typeCode;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Boolean getDeleted() {
|
||||
return isDeleted;
|
||||
}
|
||||
|
||||
public void setDeleted(Boolean deleted) {
|
||||
isDeleted = deleted;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
public class DirCurrencyCode {
|
||||
@JsonProperty("letter_code")
|
||||
@ApiModelProperty(
|
||||
value = "Символьный код валюты",
|
||||
example = "RUB"
|
||||
)
|
||||
private String letterCode;
|
||||
|
||||
@JsonProperty("numeric_code")
|
||||
@ApiModelProperty(
|
||||
value = "Численный код валюты",
|
||||
example = "643"
|
||||
)
|
||||
private String numericCode;
|
||||
|
||||
public String getLetterCode() {
|
||||
return letterCode;
|
||||
}
|
||||
|
||||
public void setLetterCode(String letterCode) {
|
||||
this.letterCode = letterCode;
|
||||
}
|
||||
|
||||
public String getNumericCode() {
|
||||
return numericCode;
|
||||
}
|
||||
|
||||
public void setNumericCode(String numericCode) {
|
||||
this.numericCode = numericCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DirTradingModeMkr {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "id",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120006"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("trading_code")
|
||||
@ApiModelProperty(
|
||||
value = "trading_code",
|
||||
example = "XMDT"
|
||||
)
|
||||
private String tradingCode;
|
||||
|
||||
@JsonProperty("name")
|
||||
@ApiModelProperty(
|
||||
value = "name",
|
||||
example = "Размещение: депозитный аукцион"
|
||||
)
|
||||
private String name;
|
||||
|
||||
@JsonProperty("settle_code")
|
||||
@ApiModelProperty(
|
||||
value = "settle_code",
|
||||
example = "T0, Bn"
|
||||
)
|
||||
private String settleCode;
|
||||
|
||||
@JsonProperty("is_deleted")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
true, если Режим торгов удален
|
||||
false, если Режим торгов не удален
|
||||
""",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean isDeleted;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getSettleCode() {
|
||||
return settleCode;
|
||||
}
|
||||
|
||||
public void setSettleCode(String settleCode) {
|
||||
this.settleCode = settleCode;
|
||||
}
|
||||
|
||||
public Boolean getDeleted() {
|
||||
return isDeleted;
|
||||
}
|
||||
|
||||
public void setDeleted(Boolean deleted) {
|
||||
isDeleted = deleted;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,285 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ExchangeInstrument {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "id",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120002"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("code")
|
||||
@ApiModelProperty(
|
||||
value = "Код биржевого инструмента",
|
||||
example = "DSTАА10VX7X8X9"
|
||||
)
|
||||
private String code;
|
||||
|
||||
@JsonProperty("name")
|
||||
@ApiModelProperty(
|
||||
value = "Наименование биржевого инструмента",
|
||||
example = "Договор банковского депозита"
|
||||
)
|
||||
private String name;
|
||||
|
||||
@JsonProperty("initiator_id")
|
||||
@ApiModelProperty(
|
||||
value = "Идентификатор Инициатора (Участника торгов) в Модуле «Реестр Участников торгов, Участников клиринга и клиентов УТ/УК».",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID initiatorId;
|
||||
|
||||
@JsonProperty("auction_bidding_type_id")
|
||||
@ApiModelProperty(
|
||||
value = "Тип аукциона\\торгов. Ссылка на dir_auction_bidding_type (id)",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID auctionBiddingTypeId;
|
||||
|
||||
@JsonProperty("exchange_offexchange")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Биржевой\\Внебиржевой
|
||||
Передавать:
|
||||
· «exchange», если «Биржевой»
|
||||
· «off_exchange», если «Внебиржевой»
|
||||
""",
|
||||
example = "exchange"
|
||||
)
|
||||
private String exchangeOffExchange;
|
||||
|
||||
@JsonProperty("price_measurement_unit")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Единица измерения цены
|
||||
Передавать:
|
||||
· «Percentage_of_face_value», если «Процент от номинала»
|
||||
· «In_settlement_currency», если «В валюте расчетов»
|
||||
""",
|
||||
example = "Percentage_of_face_value"
|
||||
)
|
||||
private String priceMeasurementUnit;
|
||||
|
||||
@JsonProperty("price_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Вид цены
|
||||
Передавать:
|
||||
· «FLOATING», если «Плавающая»
|
||||
· «FIXED», если «Фиксированная»
|
||||
"""
|
||||
)
|
||||
private String priceType;
|
||||
|
||||
@JsonProperty("settlement_currency_letter_code")
|
||||
@ApiModelProperty(
|
||||
value = "Валюта расчетов. Ссылка на dir_currency_code (letter_code)",
|
||||
example = "RUB"
|
||||
)
|
||||
private String settlementCurrencyLetterCode;
|
||||
|
||||
@JsonProperty("order_execution_type_by_price")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Тип исполнения заявок по цене
|
||||
Передавать:
|
||||
· «depositor_application_price», если «По цене заявки вкладчика»
|
||||
· «Counter_price», если «По встречной цене»
|
||||
""",
|
||||
example = "Counter_price"
|
||||
)
|
||||
private String orderExecutionTypeByPrice;
|
||||
|
||||
@JsonProperty("order_execution_type_by_volume")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Тип исполнения заявок по объему
|
||||
Передавать:
|
||||
· «Proportional_lot», если «Пропорционально с точностью до лота (остаток остается)»
|
||||
· «Proportional_rub», если «Пропорционально с точностью до рубля (остаток остается)»
|
||||
· «FULLY», если «Полностью»
|
||||
""",
|
||||
example = "FULLY"
|
||||
)
|
||||
private String orderExecutionTypeByVolume;
|
||||
|
||||
@JsonProperty("clearing_organization")
|
||||
@ApiModelProperty(
|
||||
value = "Клиринговая организация",
|
||||
example = "Клиринговая организация"
|
||||
)
|
||||
private String clearingOrganization;
|
||||
|
||||
@JsonProperty("settlement_organization")
|
||||
@ApiModelProperty(
|
||||
value = "Расчётная организация",
|
||||
example = "Расчётная организация"
|
||||
)
|
||||
private String settlementOrganization;
|
||||
|
||||
@JsonProperty("specification_approval_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата принятия Решения об утверждении Спецификации биржевого инструмента",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate specificationApprovalDate;
|
||||
|
||||
@JsonProperty("specification_approval_number")
|
||||
@ApiModelProperty(
|
||||
value = "Номер принятия Решения об утверждении Спецификации биржевого инструмента",
|
||||
example = "070323-01"
|
||||
)
|
||||
private LocalDate specificationApprovalNumber;
|
||||
|
||||
@JsonProperty("workflow_status")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«ACTV», если статус Спецификации биржевого инструмента:
|
||||
БИ допущен к торгам
|
||||
|
||||
«BLKD», если статус Спецификации биржевого инструмента:
|
||||
БИ не допущен к торгам
|
||||
Торги БИ приостановлены
|
||||
Торги БИ прекращены
|
||||
""",
|
||||
example = "ACTV"
|
||||
)
|
||||
private String workflowStatus;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public UUID getInitiatorId() {
|
||||
return initiatorId;
|
||||
}
|
||||
|
||||
public void setInitiatorId(UUID initiatorId) {
|
||||
this.initiatorId = initiatorId;
|
||||
}
|
||||
|
||||
public UUID getAuctionBiddingTypeId() {
|
||||
return auctionBiddingTypeId;
|
||||
}
|
||||
|
||||
public void setAuctionBiddingTypeId(UUID auctionBiddingTypeId) {
|
||||
this.auctionBiddingTypeId = auctionBiddingTypeId;
|
||||
}
|
||||
|
||||
public String getExchangeOffExchange() {
|
||||
return exchangeOffExchange;
|
||||
}
|
||||
|
||||
public void setExchangeOffExchange(String exchangeOffExchange) {
|
||||
this.exchangeOffExchange = exchangeOffExchange;
|
||||
}
|
||||
|
||||
public String getPriceMeasurementUnit() {
|
||||
return priceMeasurementUnit;
|
||||
}
|
||||
|
||||
public void setPriceMeasurementUnit(String priceMeasurementUnit) {
|
||||
this.priceMeasurementUnit = priceMeasurementUnit;
|
||||
}
|
||||
|
||||
public String getPriceType() {
|
||||
return priceType;
|
||||
}
|
||||
|
||||
public void setPriceType(String priceType) {
|
||||
this.priceType = priceType;
|
||||
}
|
||||
|
||||
public String getSettlementCurrencyLetterCode() {
|
||||
return settlementCurrencyLetterCode;
|
||||
}
|
||||
|
||||
public void setSettlementCurrencyLetterCode(String settlementCurrencyLetterCode) {
|
||||
this.settlementCurrencyLetterCode = settlementCurrencyLetterCode;
|
||||
}
|
||||
|
||||
public String getOrderExecutionTypeByPrice() {
|
||||
return orderExecutionTypeByPrice;
|
||||
}
|
||||
|
||||
public void setOrderExecutionTypeByPrice(String orderExecutionTypeByPrice) {
|
||||
this.orderExecutionTypeByPrice = orderExecutionTypeByPrice;
|
||||
}
|
||||
|
||||
public String getOrderExecutionTypeByVolume() {
|
||||
return orderExecutionTypeByVolume;
|
||||
}
|
||||
|
||||
public void setOrderExecutionTypeByVolume(String orderExecutionTypeByVolume) {
|
||||
this.orderExecutionTypeByVolume = orderExecutionTypeByVolume;
|
||||
}
|
||||
|
||||
public String getClearingOrganization() {
|
||||
return clearingOrganization;
|
||||
}
|
||||
|
||||
public void setClearingOrganization(String clearingOrganization) {
|
||||
this.clearingOrganization = clearingOrganization;
|
||||
}
|
||||
|
||||
public String getSettlementOrganization() {
|
||||
return settlementOrganization;
|
||||
}
|
||||
|
||||
public void setSettlementOrganization(String settlementOrganization) {
|
||||
this.settlementOrganization = settlementOrganization;
|
||||
}
|
||||
|
||||
public LocalDate getSpecificationApprovalDate() {
|
||||
return specificationApprovalDate;
|
||||
}
|
||||
|
||||
public void setSpecificationApprovalDate(LocalDate specificationApprovalDate) {
|
||||
this.specificationApprovalDate = specificationApprovalDate;
|
||||
}
|
||||
|
||||
public LocalDate getSpecificationApprovalNumber() {
|
||||
return specificationApprovalNumber;
|
||||
}
|
||||
|
||||
public void setSpecificationApprovalNumber(LocalDate specificationApprovalNumber) {
|
||||
this.specificationApprovalNumber = specificationApprovalNumber;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Listing {
|
||||
@JsonProperty("security_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на security",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID securityId;
|
||||
|
||||
@JsonProperty("lot_size")
|
||||
@ApiModelProperty(
|
||||
value = "Размер лота",
|
||||
example = "10"
|
||||
)
|
||||
private BigDecimal lotSize;
|
||||
|
||||
@JsonProperty("symbol_code")
|
||||
@ApiModelProperty(
|
||||
value = "Значение из «Общая информация\\Код биржевого инструмента СПВБ»",
|
||||
example = "VTB_001P-06"
|
||||
)
|
||||
private String symbolCode;
|
||||
|
||||
@JsonProperty("symbol_name")
|
||||
@ApiModelProperty(
|
||||
value = "Значение из «Общая информация\\Сокращенное наименование на русском языке»",
|
||||
example = "Биржевые облигации ВТБ"
|
||||
)
|
||||
private String symbolName;
|
||||
|
||||
@JsonProperty("trading_currency")
|
||||
@ApiModelProperty(
|
||||
value = "Валюта торгов",
|
||||
example = "RUB"
|
||||
)
|
||||
private String tradingCurrency;
|
||||
|
||||
@JsonProperty("workflow_status")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«ACTV», если Режим торгов не удален
|
||||
«BLKD», если Режим торгов удален
|
||||
""",
|
||||
example = "ACTV"
|
||||
)
|
||||
private String workflowStatus;
|
||||
|
||||
@JsonProperty("precision")
|
||||
@ApiModelProperty(
|
||||
value = "Точность цены, значение dir_price_min_step_precision.precision",
|
||||
example = "10"
|
||||
)
|
||||
private Long precision;
|
||||
|
||||
@JsonProperty("min_step")
|
||||
@ApiModelProperty(
|
||||
value = "Минимальный шаг цены, значение dir_price_min_step_precision.min_step",
|
||||
example = "10"
|
||||
)
|
||||
private Long minStep;
|
||||
|
||||
@JsonProperty("settle_code")
|
||||
@ApiModelProperty(
|
||||
value = "Код расчетов, значение dir_settle_code.settle_code",
|
||||
example = "T0"
|
||||
)
|
||||
private String settleCode;
|
||||
|
||||
@JsonProperty("settle_days")
|
||||
@ApiModelProperty(
|
||||
value = "Из settle_code выделить подстроку – все символы, кроме первого слева, и привести подстроку к числу",
|
||||
example = "0"
|
||||
)
|
||||
private Long settleDays;
|
||||
|
||||
@JsonProperty("name")
|
||||
@ApiModelProperty(
|
||||
value = "Режим торгов, значение dir_trading_mode.name",
|
||||
example = "Обл. с ПК - Торги"
|
||||
)
|
||||
private String name;
|
||||
|
||||
@JsonProperty("code")
|
||||
@ApiModelProperty(
|
||||
value = "Режим торгов, значение dir_trading_mode.trading_code",
|
||||
example = "UBVC"
|
||||
)
|
||||
private String code;
|
||||
|
||||
@JsonProperty("sector")
|
||||
@ApiModelProperty(
|
||||
value = "FOND",
|
||||
example = "FOND"
|
||||
)
|
||||
private String sector;
|
||||
|
||||
@JsonProperty("start_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата начала действия, формат «ДД.ММ.ГГГГ»",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate startDate;
|
||||
|
||||
@JsonProperty("end_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата окончания действия, формат «ДД.ММ.ГГГГ»",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate endDate;
|
||||
|
||||
|
||||
public UUID getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(UUID securityId) {
|
||||
this.securityId = securityId;
|
||||
}
|
||||
|
||||
public BigDecimal getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public String getSymbolCode() {
|
||||
return symbolCode;
|
||||
}
|
||||
|
||||
public void setSymbolCode(String symbolCode) {
|
||||
this.symbolCode = symbolCode;
|
||||
}
|
||||
|
||||
public String getSymbolName() {
|
||||
return symbolName;
|
||||
}
|
||||
|
||||
public void setSymbolName(String symbolName) {
|
||||
this.symbolName = symbolName;
|
||||
}
|
||||
|
||||
public String getTradingCurrency() {
|
||||
return tradingCurrency;
|
||||
}
|
||||
|
||||
public void setTradingCurrency(String tradingCurrency) {
|
||||
this.tradingCurrency = tradingCurrency;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public Long getPrecision() {
|
||||
return precision;
|
||||
}
|
||||
|
||||
public void setPrecision(Long precision) {
|
||||
this.precision = precision;
|
||||
}
|
||||
|
||||
public Long getMinStep() {
|
||||
return minStep;
|
||||
}
|
||||
|
||||
public void setMinStep(Long minStep) {
|
||||
this.minStep = minStep;
|
||||
}
|
||||
|
||||
public String getSettleCode() {
|
||||
return settleCode;
|
||||
}
|
||||
|
||||
public void setSettleCode(String settleCode) {
|
||||
this.settleCode = settleCode;
|
||||
}
|
||||
|
||||
public Long getSettleDays() {
|
||||
return settleDays;
|
||||
}
|
||||
|
||||
public void setSettleDays(Long settleDays) {
|
||||
this.settleDays = settleDays;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getSector() {
|
||||
return sector;
|
||||
}
|
||||
|
||||
public void setSector(String sector) {
|
||||
this.sector = sector;
|
||||
}
|
||||
|
||||
public LocalDate getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public LocalDate getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Nominal {
|
||||
@JsonProperty("security_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на security",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID securityId;
|
||||
|
||||
@JsonProperty("nominal")
|
||||
@ApiModelProperty(
|
||||
value = "Номинал",
|
||||
example = "1000"
|
||||
)
|
||||
private BigDecimal nominal;
|
||||
|
||||
@JsonProperty("date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата, формат «ДД.ММ.ГГГГ»",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate date;
|
||||
|
||||
@JsonProperty("is_deleted")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
true, если Номинал удален
|
||||
false, если Номинал не удален
|
||||
""",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean isDeleted;
|
||||
|
||||
public UUID getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(UUID securityId) {
|
||||
this.securityId = securityId;
|
||||
}
|
||||
|
||||
public BigDecimal getNominal() {
|
||||
return nominal;
|
||||
}
|
||||
|
||||
public void setNominal(BigDecimal nominal) {
|
||||
this.nominal = nominal;
|
||||
}
|
||||
|
||||
public LocalDate getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(LocalDate date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public Boolean getDeleted() {
|
||||
return isDeleted;
|
||||
}
|
||||
|
||||
public void setDeleted(Boolean deleted) {
|
||||
isDeleted = deleted;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ProfileDocument {
|
||||
@JsonProperty("company_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID companyId;
|
||||
|
||||
@JsonProperty("document_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Тип. документа. Возможные значения:
|
||||
· CNTR - Договор клиринга
|
||||
· FORM - Анкета участника
|
||||
· LICB - Банковская лицензия
|
||||
· LICR - Брокерская лицензия
|
||||
· LICD - Номер дилерской лицензии
|
||||
· LICT - Номер лицензии по управлению ЦБ
|
||||
· LICС - Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)
|
||||
· LICF - Номер лицензии форекс-дилера
|
||||
· EDOC - Договор об электронном взаимодействии
|
||||
· XCNT - Документ о расторжении Договора клиринга
|
||||
""",
|
||||
example = "XCNT"
|
||||
)
|
||||
private String documentType;
|
||||
|
||||
@JsonProperty("issue_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата выдачи документа",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate issueDate;
|
||||
|
||||
@JsonProperty("issuer")
|
||||
@ApiModelProperty(
|
||||
value = "Кем выдан",
|
||||
example = ""
|
||||
)
|
||||
private String issuer;
|
||||
|
||||
@JsonProperty("number")
|
||||
@ApiModelProperty(
|
||||
value = "Номер документа",
|
||||
example = "122/Б"
|
||||
)
|
||||
private String number;
|
||||
|
||||
@JsonProperty("valid_to_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дата окончания срока действия",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate validToDate;
|
||||
|
||||
@JsonProperty("link")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на документ в модуле хранения документов",
|
||||
example = "00cd62ba-bb30-4e9e-a8b6-7937d7492212"
|
||||
)
|
||||
private String link;
|
||||
|
||||
public UUID getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(UUID companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getDocumentType() {
|
||||
return documentType;
|
||||
}
|
||||
|
||||
public void setDocumentType(String documentType) {
|
||||
this.documentType = documentType;
|
||||
}
|
||||
|
||||
public LocalDate getIssueDate() {
|
||||
return issueDate;
|
||||
}
|
||||
|
||||
public void setIssueDate(LocalDate issueDate) {
|
||||
this.issueDate = issueDate;
|
||||
}
|
||||
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
|
||||
public void setIssuer(String issuer) {
|
||||
this.issuer = issuer;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public LocalDate getValidToDate() {
|
||||
return validToDate;
|
||||
}
|
||||
|
||||
public void setValidToDate(LocalDate validToDate) {
|
||||
this.validToDate = validToDate;
|
||||
}
|
||||
|
||||
public String getLink() {
|
||||
return link;
|
||||
}
|
||||
|
||||
public void setLink(String link) {
|
||||
this.link = link;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,314 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Security {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = "id (uuid)",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120004"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("instrument_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«EQTY», если Общая информация\\Вид ценной бумаги = «E - Долевые ценные бумаги (акции)»
|
||||
«BOND», если Общая информация\\Вид ценной бумаги = «B - Долговые ценные бумаги (облигации)»
|
||||
""",
|
||||
example = "BOND"
|
||||
)
|
||||
private String instrumentType;
|
||||
|
||||
@JsonProperty("issuer_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на company",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120003"
|
||||
)
|
||||
private UUID issuerId;
|
||||
@JsonProperty("short_name")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Сокращенное наименование на русском языке",
|
||||
example = "Биржевые облигации ВТБ"
|
||||
)
|
||||
private String shortName;
|
||||
|
||||
@JsonProperty("full_name")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Полное наименование на русском языке",
|
||||
example = """
|
||||
Биржевые облигации документарные процентные неконвертируемые на предъявителя
|
||||
с обязательным централизованным хранением серии 001P-06"
|
||||
"""
|
||||
)
|
||||
private String fullName;
|
||||
|
||||
@JsonProperty("short_name_eng")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Сокращенное наименование на английском языке",
|
||||
example = "VTB exchange-traded bonds"
|
||||
)
|
||||
private String shortNameEng;
|
||||
|
||||
@JsonProperty("full_name_eng")
|
||||
@ApiModelProperty(
|
||||
value = "Основные сведения\\Полное наименование на английском языке",
|
||||
example = """
|
||||
Exchange-traded interest-bearing non-convertible bearer bonds
|
||||
with obligatory centralized storage of series 001P-06
|
||||
"""
|
||||
)
|
||||
private String fullNameEng;
|
||||
|
||||
@JsonProperty("security_symbol")
|
||||
@ApiModelProperty(
|
||||
value = "Общая информация\\Код биржевого инструмента СПВБ",
|
||||
example = "VTB_001P-06"
|
||||
)
|
||||
private String securitySymbol;
|
||||
|
||||
@JsonProperty("isin")
|
||||
@ApiModelProperty(
|
||||
value = "Общая информация\\ISIN",
|
||||
example = "RU000A0ZYWY5"
|
||||
)
|
||||
private String isin;
|
||||
|
||||
@JsonProperty("workflow_status")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«ACTV», если статус ценной бумаги:
|
||||
Допущена к торгам в режиме размещения
|
||||
Допущена к торгам в режиме обращения
|
||||
|
||||
«BLKD», если статус ценной бумаги:
|
||||
Не допущена к торгам
|
||||
Торги временно приостановлены
|
||||
Выведена из обращения
|
||||
""",
|
||||
example = "ACTV"
|
||||
)
|
||||
private String workflowStatus;
|
||||
|
||||
@JsonProperty("share_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«S», если Общая информация\\Тип ценной бумаги = «S - Обыкновенная акция»
|
||||
«P», если Общая информация\\Тип ценной бумаги = «P - Привилегированная акция»
|
||||
""",
|
||||
example = "S"
|
||||
)
|
||||
private String shareType;
|
||||
|
||||
@JsonProperty("bond_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«Z», если Общая информация\\Тип ценной бумаги = «Z - Дисконтная облигация»
|
||||
«F», если Общая информация\\Тип ценной бумаги = «F - Купонная облигация с постоянным купоном»
|
||||
«V», если Общая информация\\Тип ценной бумаги = «V - Купонная облигация с переменным купоном»
|
||||
«C», если Общая информация\\Тип ценной бумаги = «C - Купонная облигация Банка России»
|
||||
«E», если Общая информация\\Тип ценной бумаги = «E - Биржевая облигация»
|
||||
«I», если Общая информация\\Тип ценной бумаги = «I - Облигации с индексированным номиналом»
|
||||
«M», если Общая информация\\Тип ценной бумаги = «M - Облигации с амортизацией долга»
|
||||
"""
|
||||
)
|
||||
private String bondType;
|
||||
|
||||
@JsonProperty("maturity_date")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Дополнительная информация\\Дата погашения облигации",
|
||||
example = "30.12.2023"
|
||||
)
|
||||
private LocalDate maturityDate;
|
||||
|
||||
@JsonProperty("nominal_value")
|
||||
@ApiModelProperty(
|
||||
value = "Общая информация\\Номинал инструмента",
|
||||
example = "1000"
|
||||
)
|
||||
private BigDecimal nominalValue;
|
||||
|
||||
@JsonProperty("nominal_for_date")
|
||||
@ApiModelProperty(
|
||||
value = "Общая информация\\Текущее значение номинала",
|
||||
example = "1000"
|
||||
)
|
||||
private BigDecimal nominalForDate;
|
||||
|
||||
@JsonProperty("nominal_currency")
|
||||
@ApiModelProperty(
|
||||
value = "Общая информация\\Валюта номинала",
|
||||
example = "RUB"
|
||||
)
|
||||
private String nominalCurrency;
|
||||
|
||||
@JsonProperty("coupon_type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
«NUL», если Дополнительная информация\\Тип купона = «NUL - Дисконтная облигация (Нулевой)»
|
||||
«VAR», если Дополнительная информация\\Тип купона = «VAR - Плавающая процентная ставка (Переменный)»
|
||||
«FIX», если Дополнительная информация\\Тип купона = «FIX - Фиксированная процентная ставка (Постоянный)»
|
||||
""",
|
||||
example = "NUL"
|
||||
)
|
||||
private String couponType;
|
||||
|
||||
@JsonProperty("coupon_frequency")
|
||||
@ApiModelProperty(
|
||||
value = "Дополнительная информация\\Количество купонов в год",
|
||||
example = "1000"
|
||||
)
|
||||
private BigDecimal couponFrequency;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getInstrumentType() {
|
||||
return instrumentType;
|
||||
}
|
||||
|
||||
public void setInstrumentType(String instrumentType) {
|
||||
this.instrumentType = instrumentType;
|
||||
}
|
||||
|
||||
public UUID getIssuerId() {
|
||||
return issuerId;
|
||||
}
|
||||
|
||||
public void setIssuerId(UUID issuerId) {
|
||||
this.issuerId = issuerId;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getIsin() {
|
||||
return isin;
|
||||
}
|
||||
|
||||
public void setIsin(String isin) {
|
||||
this.isin = isin;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getShareType() {
|
||||
return shareType;
|
||||
}
|
||||
|
||||
public void setShareType(String shareType) {
|
||||
this.shareType = shareType;
|
||||
}
|
||||
|
||||
public String getBondType() {
|
||||
return bondType;
|
||||
}
|
||||
|
||||
public void setBondType(String bondType) {
|
||||
this.bondType = bondType;
|
||||
}
|
||||
|
||||
public LocalDate getMaturityDate() {
|
||||
return maturityDate;
|
||||
}
|
||||
|
||||
public void setMaturityDate(LocalDate maturityDate) {
|
||||
this.maturityDate = maturityDate;
|
||||
}
|
||||
|
||||
public BigDecimal getNominalValue() {
|
||||
return nominalValue;
|
||||
}
|
||||
|
||||
public void setNominalValue(BigDecimal nominalValue) {
|
||||
this.nominalValue = nominalValue;
|
||||
}
|
||||
|
||||
public BigDecimal getNominalForDate() {
|
||||
return nominalForDate;
|
||||
}
|
||||
|
||||
public void setNominalForDate(BigDecimal nominalForDate) {
|
||||
this.nominalForDate = nominalForDate;
|
||||
}
|
||||
|
||||
public String getNominalCurrency() {
|
||||
return nominalCurrency;
|
||||
}
|
||||
|
||||
public void setNominalCurrency(String nominalCurrency) {
|
||||
this.nominalCurrency = nominalCurrency;
|
||||
}
|
||||
|
||||
public String getCouponType() {
|
||||
return couponType;
|
||||
}
|
||||
|
||||
public void setCouponType(String couponType) {
|
||||
this.couponType = couponType;
|
||||
}
|
||||
|
||||
public BigDecimal getCouponFrequency() {
|
||||
return couponFrequency;
|
||||
}
|
||||
|
||||
public void setCouponFrequency(BigDecimal couponFrequency) {
|
||||
this.couponFrequency = couponFrequency;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class TradingMode {
|
||||
@JsonProperty("exchange_instrument_id")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на exchange_instrument",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120002"
|
||||
)
|
||||
private UUID exchangeInstrumentId;
|
||||
|
||||
@JsonProperty("Ссылка на trading_mode")
|
||||
@ApiModelProperty(
|
||||
value = "Ссылка на trading_mode_mkr",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120006"
|
||||
)
|
||||
private UUID tradingModeId;
|
||||
|
||||
@JsonProperty("min_step")
|
||||
@ApiModelProperty(
|
||||
value = "Минимальный шаг цены, значение listing.dir_price_min_step_precision.min_step",
|
||||
example = "6"
|
||||
)
|
||||
private Long minStep;
|
||||
|
||||
@JsonProperty("precision")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Значение listing.dir_price_min_step_precision.precision, соответствующее
|
||||
значению listing.dir_price_min_step_precision.min_step в поле «Минимальный шаг цены»
|
||||
""",
|
||||
example = "1"
|
||||
)
|
||||
private Long precision;
|
||||
|
||||
@JsonProperty("lot_size")
|
||||
@ApiModelProperty(
|
||||
value = "Размер лота",
|
||||
example = "10"
|
||||
)
|
||||
private Long lotSize;
|
||||
|
||||
@JsonProperty("trading_currency_letter_code")
|
||||
@ApiModelProperty(
|
||||
value = "Валюта торгов. Ссылка на dir_currency_code (letter_code)",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120005"
|
||||
)
|
||||
private UUID tradingCurrencyLetterCode;
|
||||
|
||||
@JsonProperty("is_deleted")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
true, если Режим торгов удален
|
||||
false, если Режим торгов не удален
|
||||
""",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean isDeleted;
|
||||
|
||||
public UUID getExchangeInstrumentId() {
|
||||
return exchangeInstrumentId;
|
||||
}
|
||||
|
||||
public void setExchangeInstrumentId(UUID exchangeInstrumentId) {
|
||||
this.exchangeInstrumentId = exchangeInstrumentId;
|
||||
}
|
||||
|
||||
public UUID getTradingModeId() {
|
||||
return tradingModeId;
|
||||
}
|
||||
|
||||
public void setTradingModeId(UUID tradingModeId) {
|
||||
this.tradingModeId = tradingModeId;
|
||||
}
|
||||
|
||||
public Long getMinStep() {
|
||||
return minStep;
|
||||
}
|
||||
|
||||
public void setMinStep(Long minStep) {
|
||||
this.minStep = minStep;
|
||||
}
|
||||
|
||||
public Long getPrecision() {
|
||||
return precision;
|
||||
}
|
||||
|
||||
public void setPrecision(Long precision) {
|
||||
this.precision = precision;
|
||||
}
|
||||
|
||||
public Long getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(Long lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public UUID getTradingCurrencyLetterCode() {
|
||||
return tradingCurrencyLetterCode;
|
||||
}
|
||||
|
||||
public void setTradingCurrencyLetterCode(UUID tradingCurrencyLetterCode) {
|
||||
this.tradingCurrencyLetterCode = tradingCurrencyLetterCode;
|
||||
}
|
||||
|
||||
public Boolean getDeleted() {
|
||||
return isDeleted;
|
||||
}
|
||||
|
||||
public void setDeleted(Boolean deleted) {
|
||||
isDeleted = deleted;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
server.port=8080
|
||||
server.servlet.context-path=/gateway-api
|
||||
spring.main.web-application-type=servlet
|
||||
gateway-api.example-setting=test
|
||||
gateway-api.hazelcast.cluster-members=127.0.0.1:5701
|
||||
gateway-api.hazelcast.login=dev
|
||||
gateway-api.hazelcast.password=dev-pass
|
||||
gateway-api.kafka-producer.bootstrap-servers=localhost:9092
|
||||
gateway-api.kafka-producer.acks=all
|
||||
gateway-api.kafka-producer.retries=0
|
||||
gateway-api.kafka-producer.batch-size=16384
|
||||
gateway-api.kafka-producer.linger-ms=1
|
||||
gateway-api.kafka-producer.buffer-memory=33554432
|
||||
gateway-api.kafka-consumer.bootstrap-servers=localhost:9092
|
||||
gateway-api.kafka-consumer.group-id=dev-group-gateway-api
|
||||
gateway-api.kafka-consumer.enable-auto-commit=true
|
||||
gateway-api.kafka-consumer.session-timeout-ms=30000
|
||||
gateway-api.kafka-consumer.auto-offset-reset=latest
|
||||
gateway-api.kafka-consumer.linger-ms=1
|
||||
gateway-api.kafka-consumer.buffer-memory=33554432
|
||||
37
clearing-parent/gateway-api/src/main/resources/logback.xml
Normal file
37
clearing-parent/gateway-api/src/main/resources/logback.xml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern>
|
||||
<charset>utf-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>./logs/gateway-api.log</file>
|
||||
<encoder>
|
||||
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n</Pattern>
|
||||
<charset>utf8</charset>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
|
||||
<fileNamePattern>
|
||||
./logs/gateway-api.%i.log
|
||||
</fileNamePattern>
|
||||
<minIndex>1</minIndex>
|
||||
<maxIndex>10</maxIndex>
|
||||
</rollingPolicy>
|
||||
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
||||
<maxFileSize>500MB</maxFileSize>
|
||||
</triggeringPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="warn">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
|
||||
<logger name="ru.spcex" level="debug" additivity="false">
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<!--<logger name="org.springframework" level="info" />-->
|
||||
</configuration>
|
||||
17
clearing-parent/gateway-api/src/main/web/WEB-INF/web.xml
Normal file
17
clearing-parent/gateway-api/src/main/web/WEB-INF/web.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
|
||||
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
||||
version="3.1"
|
||||
metadata-complete="true">
|
||||
<display-name>${project.name} ${project.version} (${timestamp})</display-name>
|
||||
|
||||
<session-config>
|
||||
<session-timeout>60</session-timeout>
|
||||
</session-config>
|
||||
|
||||
<absolute-ordering>
|
||||
<name>spcex_web</name>
|
||||
</absolute-ordering>
|
||||
</web-app>
|
||||
|
|
@ -38,6 +38,7 @@
|
|||
<module>cleaning-builders</module>
|
||||
<module>trade-importer</module>
|
||||
<module>lim-exporter</module>
|
||||
<module>gateway-api</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
|
|
|||
1
pom.xml
1
pom.xml
|
|
@ -45,6 +45,7 @@
|
|||
<folder_root_reports-service>${folder_root_clearing}/clearing-parent/reports-service</folder_root_reports-service>
|
||||
<folder_root_utility-service>${folder_root_clearing}/clearing-parent/utility-service</folder_root_utility-service>
|
||||
<folder_root_scheduler-service>${folder_root_clearing}/clearing-parent/scheduler-service</folder_root_scheduler-service>
|
||||
<folder_root_gateway-api>${folder_root_clearing}/clearing-parent/gateway-api</folder_root_gateway-api>
|
||||
<!-- IMDG -->
|
||||
<external_libraries.hazelcast.version>3.12.4</external_libraries.hazelcast.version>
|
||||
<external_libraries.slf4j.version>1.7.33</external_libraries.slf4j.version>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ rem copy clearing\modules\dbf-importer\*.jar allinone
|
|||
rem copy clearing\modules\reports-service\*.jar allinone
|
||||
rem copy clearing\modules\securities-service\*.jar allinone
|
||||
rem copy clearing\modules\utility-service\*.jar allinone
|
||||
rem copy clearing\modules\gateway-api\*.jar allinone
|
||||
|
||||
copy ..\..\..\clearing-parent\account-service\target\account-service.jar allinone
|
||||
copy ..\..\..\clearing-parent\backend-api\target\backend-api.jar allinone
|
||||
|
|
@ -35,5 +36,6 @@ copy ..\..\..\clearing-parent\scheduler-service\target\scheduler-service.jar all
|
|||
copy ..\..\..\clearing-parent\securities-service\target\securities-service.jar allinone
|
||||
copy ..\..\..\clearing-parent\trade-importer\target\trade-importer.jar allinone
|
||||
copy ..\..\..\clearing-parent\utility-service\target\utility-service.jar allinone
|
||||
copy ..\..\..\clearing-parent\gateway-api\target\gateway-api.jar allinone
|
||||
|
||||
:exit1:
|
||||
|
|
|
|||
|
|
@ -343,6 +343,32 @@
|
|||
</fileSets>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-gateway-api-bin</id>
|
||||
<phase>prepare-package</phase>
|
||||
<goals>
|
||||
<goal>copy</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<sourceFile>${folder_root_gateway-api}/target/gateway-api.jar
|
||||
</sourceFile>
|
||||
<destinationFile>
|
||||
${folder.clearing.distr.modules}/gateway-api/gateway-api.jar
|
||||
</destinationFile>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<sourceFile>
|
||||
${folder_root_gateway-api}/src/main/resources/application.properties
|
||||
</sourceFile>
|
||||
<destinationFile>
|
||||
${folder.clearing.distr.modules}/gateway-api/application.properties
|
||||
</destinationFile>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
|
|
|||
9
z-distr/src/main/resources/distr/bin/gateway-api.sh
Normal file
9
z-distr/src/main/resources/distr/bin/gateway-api.sh
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
CLEARING_HOME=/opt/mfd/clearing/
|
||||
cd $CLEARING_HOME/bin
|
||||
|
||||
CMD="java -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7020 -jar gateway-api.jar --spring.config.location=$CLEARING_HOME/settings/gateway-api/"
|
||||
|
||||
$CMD >/dev/null 2>&1 &
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
FROM debian:stable-20220125-jdk17
|
||||
|
||||
ADD gateway-api.jar /opt/clearing/bin/gateway-api.jar
|
||||
ADD application.properties /opt/clearing/bin/application.properties
|
||||
USER root
|
||||
ENTRYPOINT java -jar /opt/clearing/bin/gateway-api.jar --spring.config.location=/opt/clearing/bin/
|
||||
Loading…
Add table
Reference in a new issue