Merge remote-tracking branch 'origin/dev' into psemenkov
This commit is contained in:
commit
6cb4ad0f65
39 changed files with 2417 additions and 181 deletions
|
|
@ -1576,7 +1576,7 @@
|
|||
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
|
||||
<inSDf12Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
|
||||
</sDf18>
|
||||
<s_trade name="Сделки из Торговой системы" class="" table="s_trade">
|
||||
<s_trade name="Сделки из Торговой системы" class="ru.clearing.classes.statics.data.misc.STrade" table="s_trade">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<trade_num type="1" name="Номер сделки" shortname="Номер сделки" searchable="true" sortable="true"/>
|
||||
<sec_code type="2" length="255" name="Код ценной бумаги" shortname="Код ценной бумаги" searchable="true" sortable="true"/>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@
|
|||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ spring.main.web-application-type=none
|
|||
balance-service.hazelcast.cluster-members=127.0.0.1:5701
|
||||
balance-service.hazelcast.login=dev
|
||||
balance-service.hazelcast.password=dev-pass
|
||||
|
||||
balance-service.kafka-consumer.bootstrap-servers=localhost:9092
|
||||
balance-service.kafka-consumer.group-id=dev-group-balance-service
|
||||
balance-service.kafka-consumer.enable-auto-commit=false
|
||||
|
|
@ -10,10 +9,11 @@ balance-service.kafka-consumer.session-timeout-ms=30000
|
|||
balance-service.kafka-consumer.auto-offset-reset=latest
|
||||
balance-service.kafka-consumer.linger-ms=1
|
||||
balance-service.kafka-consumer.buffer-memory=33554432
|
||||
|
||||
balance-service.kafka-producer.bootstrap-servers=localhost:9092
|
||||
balance-service.kafka-producer.acks=all
|
||||
balance-service.kafka-producer.retries=0
|
||||
balance-service.kafka-producer.batch-size=16384
|
||||
balance-service.kafka-producer.linger-ms=1
|
||||
balance-service.kafka-producer.buffer-memory=33554432
|
||||
balance-service.kafka-producer.buffer-memory=33554432
|
||||
#for testing
|
||||
spring.kafka.consumer.group-id=dev-group-balance-service
|
||||
|
|
@ -1,23 +1,19 @@
|
|||
package ru.spcex.clearing.balance.config;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||
import org.apache.kafka.clients.consumer.OffsetResetStrategy;
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.apache.kafka.common.serialization.StringSerializer;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import ru.spcex.clearing.platform.messaging.serialization.JsonSerializer;
|
||||
|
||||
@Configuration
|
||||
public class KafkaTestConfig {
|
||||
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
@Bean
|
||||
public Consumer<String, Object> createTestConsumer() {
|
||||
public MockConsumer<String, Object> createTestConsumer() {
|
||||
return new MockConsumer<>(OffsetResetStrategy.EARLIEST);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,20 +11,20 @@ import ru.clearing.classes.statics.data.account.AccountBalance;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf02;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf08;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf10;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf17;
|
||||
import ru.clearing.classes.statics.data.statement.Statement;
|
||||
import ru.spcex.clearing.balance.config.*;
|
||||
import ru.spcex.clearing.balance.utils.MatcherFactory;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
|
|
@ -33,11 +33,14 @@ import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFields
|
|||
@ContextConfiguration(classes = {
|
||||
AccountBalanceService.class,
|
||||
Sdf01Executor.class,
|
||||
Sdf08Service.class,
|
||||
Sdf09Executor.class,
|
||||
Sdf16Executor.class,
|
||||
StatementService.class,
|
||||
LoggingService.class,
|
||||
MessagesConfig.class,
|
||||
ValidationConfig.class,
|
||||
SdfExecutorsConfig.class,
|
||||
BalanceImdgTestConfig.class,
|
||||
KafkaSenderConfig.class,
|
||||
KafkaTestConfig.class})
|
||||
|
|
@ -45,8 +48,6 @@ public abstract class AbstractServiceTest {
|
|||
protected static final MatcherFactory.Matcher<AccountBalance> ACCOUNT_BALANCE_MATCHER = usingIgnoringFieldsComparator("created", "updated", "clearingDate", "id");
|
||||
protected static final MatcherFactory.Matcher<Result> RESULT_MATCHER = usingIgnoringFieldsComparator("account.created", "account.updated", "account.clearingDate", "generationId");
|
||||
protected static final MatcherFactory.Matcher<Statement> STATEMENT_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "updated", "id");
|
||||
|
||||
protected final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
protected final Long accountIdNew = 10L;
|
||||
protected final Long addresseeIdNew = 2L;
|
||||
protected final String deal = "111111111";
|
||||
|
|
@ -59,7 +60,9 @@ public abstract class AbstractServiceTest {
|
|||
protected IMap<Long, CompanySymbols> companySymbolsMap;
|
||||
protected IMap<Long, Account> accountMap;
|
||||
protected ImdgHazelcast<Statement> statementImdg;
|
||||
protected ImdgHazelcast<RequestInfo> requestInfoImdg;
|
||||
protected ImdgHazelcast<SDf02> sdf02Imdg;
|
||||
protected ImdgHazelcast<SDf08> sdf08Imdg;
|
||||
protected ImdgHazelcast<SDf10> sdf10Imdg;
|
||||
protected ImdgHazelcast<SDf17> sdf17Imdg;
|
||||
protected ImdgHazelcast<AccountBalance> accountBalanceImdg;
|
||||
|
|
@ -67,14 +70,15 @@ public abstract class AbstractServiceTest {
|
|||
@Qualifier("hazelcastServiceTest")
|
||||
private ImdgProvider hazelcast;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
hazelcast.waitAvailable();
|
||||
ImdgHazelcast<Company> companyImdg = (ImdgHazelcast<Company>) hazelcast.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
ImdgHazelcast<CompanySymbols> companySymbolsImdg = (ImdgHazelcast<CompanySymbols>) hazelcast.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
ImdgHazelcast<Account> accountImdg = (ImdgHazelcast<Account>) hazelcast.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
requestInfoImdg = (ImdgHazelcast<RequestInfo>) hazelcast.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
|
||||
statementImdg = (ImdgHazelcast<Statement>) hazelcast.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||
sdf02Imdg = (ImdgHazelcast<SDf02>) hazelcast.getImdg(IMDGDistributedNames.Map_SDf02, SDf02.class);
|
||||
sdf08Imdg = (ImdgHazelcast<SDf08>) hazelcast.getImdg(IMDGDistributedNames.Map_SDf08, SDf08.class);
|
||||
sdf10Imdg = (ImdgHazelcast<SDf10>) hazelcast.getImdg(IMDGDistributedNames.Map_SDf10, SDf10.class);
|
||||
sdf17Imdg = (ImdgHazelcast<SDf17>) hazelcast.getImdg(IMDGDistributedNames.Map_SDf17, SDf17.class);
|
||||
accountBalanceImdg = (ImdgHazelcast<AccountBalance>) hazelcast.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import ru.spcex.platform.enumeration.BalanceAccountType;
|
|||
import ru.spcex.platform.enumeration.Status;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
|
|
@ -29,6 +30,11 @@ class AccountBalanceServiceTest extends AbstractServiceTest {
|
|||
@Autowired
|
||||
AccountBalanceService accountBalanceService;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
super.init();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link AccountBalanceService#createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount, String cashMovementCurrencyCode)}<br>
|
||||
* Тест проверяет генерацию сущности {@link AccountResult}<br>
|
||||
|
|
|
|||
|
|
@ -27,19 +27,17 @@ import java.util.Map;
|
|||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
|
||||
class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||
final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
private static final MatcherFactory.Matcher<SDf02> SDF_02_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
private final String acc = "123456789";
|
||||
private final Long ID = 1L;
|
||||
@Autowired
|
||||
Sdf01Executor sdf01Executor;
|
||||
private SDf01 sdf01;
|
||||
private StatementRequest statementRequest;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
super.init();
|
||||
sdf01 = getTestSdf01();
|
||||
statementRequest = new StatementRequest();
|
||||
}
|
||||
|
||||
|
|
@ -61,6 +59,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
@Test
|
||||
void execute() {
|
||||
//check create statement, SDf02 and AccountBalance
|
||||
SDf01 sdf01 = getTestSdf01();
|
||||
Company company = getTestCompany();
|
||||
companyMap.put(addresseeIdNew, company);
|
||||
|
||||
|
|
@ -104,11 +103,12 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
@Test
|
||||
void validatedExecute() {
|
||||
//CompanyNotFound
|
||||
SDf01 sdf01 = getTestSdf01();
|
||||
companyMap.delete(addresseeIdNew);
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01);
|
||||
|
||||
sdf01.setDeal(null);
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01);
|
||||
|
||||
//AccountNotPresent accountType=null
|
||||
sdf01.setDeal(deal);
|
||||
|
|
@ -118,56 +118,56 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
account.setAccount(acc);
|
||||
account.setAccountStatus(Status.Active.getKey());
|
||||
accountMap.put(accountIdNew, account);
|
||||
checkErrorAccountNotPresent(company);
|
||||
checkErrorAccountNotPresent(company, sdf01);
|
||||
|
||||
//AccountNotPresent account=null
|
||||
account.setAccount(null);
|
||||
account.setAccountType(AccountType.Clrn.getKey());
|
||||
account.setAccountStatus(Status.Active.getKey());
|
||||
accountMap.put(accountIdNew, account);
|
||||
checkErrorAccountNotPresent(company);
|
||||
checkErrorAccountNotPresent(company, sdf01);
|
||||
|
||||
//AccountNotPresent sdf01.account==null
|
||||
sdf01.setAccount(null);
|
||||
checkErrorAccountNotPresent(company);
|
||||
checkErrorAccountNotPresent(company, sdf01);
|
||||
|
||||
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
||||
accountMap.put(accountIdNew, getTestAccount(ID, acc));
|
||||
sdf01.setAccount(acc);
|
||||
sdf01.setCurr_code("RUB");
|
||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound));
|
||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01);
|
||||
|
||||
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
||||
sdf01.setCurr_code(null);
|
||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound));
|
||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01);
|
||||
|
||||
//CurrentDateOnly
|
||||
sdf01.setCurr_code("RUR");
|
||||
sdf01.setDat("19.01.23");
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||
|
||||
//CurrentDateOnly
|
||||
sdf01.setDat("19.01.2023");
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||
|
||||
//CurrentDateOnly
|
||||
sdf01.setDat(null);
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||
|
||||
//WrongAccount
|
||||
sdf01.setDat(LocalDate.now().format(datFormatter));
|
||||
sdf01.setAcc_type(null);
|
||||
checkError(new EnumMessage(BalanceError.WrongAccount));
|
||||
checkError(new EnumMessage(BalanceError.WrongAccount), sdf01);
|
||||
|
||||
//WrongMarket
|
||||
sdf01.setAcc_type("A");
|
||||
sdf01.setMarket(null);
|
||||
checkError(new EnumMessage(BalanceError.WrongMarket));
|
||||
checkError(new EnumMessage(BalanceError.WrongMarket), sdf01);
|
||||
|
||||
sdf01.setMarket("U");
|
||||
}
|
||||
|
||||
private void checkError(EnumMessage enumMessage) {
|
||||
private void checkError(EnumMessage enumMessage, SDf01 sdf01) {
|
||||
// SDf01 sdf01 = getTestSdf01();
|
||||
SDf02 predictableSdf02 = getTestErrorSdf02(sdf01, enumMessage, ID);
|
||||
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
||||
|
|
@ -176,7 +176,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
SDF_02_MATCHER.assertMatch(resultSdf02, predictableSdf02);
|
||||
}
|
||||
|
||||
private void checkErrorAccountNotPresent(Company company) {
|
||||
private void checkErrorAccountNotPresent(Company company, SDf01 sdf01) {
|
||||
Result predictableResult = new Result();
|
||||
predictableResult.getAccountRequests().add(createAccountRequestPart(sdf01.getId(), sdf01.getAccount(), company.getId()));
|
||||
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
||||
|
|
@ -207,13 +207,14 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
}
|
||||
|
||||
private SDf01 getTestSdf01() {
|
||||
LocalDate date = LocalDate.now();
|
||||
SDf01 sdf01 = new SDf01();
|
||||
sdf01.setId(ID);
|
||||
sdf01.setMarket("U");
|
||||
sdf01.setDeal(deal);
|
||||
sdf01.setAccount(acc);
|
||||
sdf01.setCurr_code("RUR");
|
||||
sdf01.setDat(LocalDate.now().format(datFormatter));
|
||||
sdf01.setDat(date.format(datFormatter));
|
||||
sdf01.setAcc_type("A");
|
||||
sdf01.setRemainder(amountNew.toString());
|
||||
return sdf01;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,89 @@
|
|||
package ru.spcex.clearing.balance.service;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.hazelcast.core.IMap;
|
||||
import org.apache.kafka.clients.consumer.ConsumerRecord;
|
||||
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||
import org.apache.kafka.common.TopicPartition;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf08;
|
||||
import ru.spcex.clearing.balance.utils.ImapEvent;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
import ru.spcex.platform.enumeration.Task;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class Sdf08ServiceTest extends AbstractServiceTest {
|
||||
// private static final MatcherFactory.Matcher<SDf08> SDF_08_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
private static final String TOPIC = Task.getAllBalance.topic();
|
||||
private static final int PARTITION = 1;
|
||||
private static final Long limit = 300L;
|
||||
@Autowired
|
||||
Sdf08Service sdf08Service;
|
||||
@Autowired
|
||||
private MockConsumer<String, Object> mockConsumer;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
super.init();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link Sdf08Service}<br>
|
||||
* Тест проверяет генерацию сущностей {@link RequestInfo}<br>
|
||||
* Входные параметры:<br>
|
||||
* {@link BaseRequest} - new BaseRequest<>()<br>
|
||||
*/
|
||||
@Test
|
||||
void newSDf08() throws InterruptedException {
|
||||
BaseRequest<Object> baseNewRequest = new BaseRequest<>();
|
||||
baseNewRequest.setId(currentId.getAndIncrement());
|
||||
baseNewRequest.setActionType(ActionType.NEW);
|
||||
String jsonBaseNewRequest;
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
try {
|
||||
jsonBaseNewRequest = objectMapper.writeValueAsString(baseNewRequest);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
IMap<Long, SDf08> sdf08Map = sdf08Imdg.getMap();
|
||||
IMap<Long, RequestInfo> resultsRequestMap = requestInfoImdg.getMap();
|
||||
ImapEvent imapEvent = new ImapEvent(resultsRequestMap);
|
||||
int count = sdf08Map.size();
|
||||
long timeNow = Instant.now().toEpochMilli();
|
||||
//KAFKA
|
||||
mockConsumer.schedulePollTask(() -> {
|
||||
mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC, PARTITION)));
|
||||
mockConsumer.addRecord(new ConsumerRecord<>(TOPIC, PARTITION, 0, "key", jsonBaseNewRequest));
|
||||
});
|
||||
|
||||
HashMap<TopicPartition, Long> startOffsets = new HashMap<>();
|
||||
TopicPartition tp = new TopicPartition(TOPIC, PARTITION);
|
||||
startOffsets.put(tp, 0L);
|
||||
mockConsumer.updateBeginningOffsets(startOffsets);
|
||||
|
||||
//waiting for hazelcast map item updates
|
||||
imapEvent.waitWhenHappened();
|
||||
|
||||
Collection<RequestInfo> resultsRequestInfo = requestInfoImdg.getCollectionObjectsByFieldValues(Map.of("status", Status.Processing));
|
||||
RequestInfo requestInfo = resultsRequestInfo.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get();
|
||||
Long diffRequestInfo = requestInfo.getCreated().toEpochMilli() - timeNow;
|
||||
|
||||
assertEquals(1, sdf08Map.size() - count);
|
||||
assertTrue(limit.compareTo(diffRequestInfo) > 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -20,7 +20,6 @@ import javax.annotation.PostConstruct;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
|
@ -29,8 +28,6 @@ import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFields
|
|||
|
||||
class Sdf09ExecutorTest extends AbstractServiceTest {
|
||||
private static final MatcherFactory.Matcher<SDf10> SDF_10_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
|
||||
private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
private final Long ID = 2L;
|
||||
private final String acc = "213456789";
|
||||
@Autowired
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import javax.annotation.PostConstruct;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
|
@ -29,8 +28,6 @@ import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFields
|
|||
|
||||
class Sdf16ExecutorTest extends AbstractServiceTest {
|
||||
private static final MatcherFactory.Matcher<SDf17> SDF_17_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
|
||||
private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
private final Long ID = 3L;
|
||||
private final String acc = "323456789";
|
||||
@Autowired
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
package ru.spcex.clearing.balance.service;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.hazelcast.core.IMap;
|
||||
import org.apache.kafka.clients.consumer.ConsumerRecord;
|
||||
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||
import org.apache.kafka.common.TopicPartition;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ru.spcex.clearing.balance.utils.ImapEvent;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static ru.spcex.platform.enumeration.SdfTable.SDF_01;
|
||||
|
||||
class StatementServiceServiceTest extends AbstractServiceTest {
|
||||
// private static final MatcherFactory.Matcher<SDf08> SDF_08_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
private static final String TOPIC = Consts.STATEMENT_PROCESS;
|
||||
private static final int PARTITION = 1;
|
||||
private static final Long groupId = 111L;
|
||||
private static final Long limit = 300L;
|
||||
@Autowired
|
||||
StatementService statementService;
|
||||
@Autowired
|
||||
private MockConsumer<String, Object> mockConsumer;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
super.init();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link StatementService}<br>
|
||||
* Тест проверяет генерацию сущностей {@link RequestInfo}<br>
|
||||
* Входные параметры:<br>
|
||||
* {@link StatementRequest}: new StatementRequest()<br>
|
||||
* {@link StatementRequest#table} - SDF_01<br>
|
||||
*/
|
||||
@Test
|
||||
void process() throws InterruptedException {
|
||||
StatementRequest statementRequest = new StatementRequest();
|
||||
statementRequest.setGroupId(groupId);
|
||||
statementRequest.setTable(SDF_01);
|
||||
BaseRequest<StatementRequest> baseRequest = new BaseRequest<>();
|
||||
baseRequest.setRequestPayload(statementRequest);
|
||||
baseRequest.setId(currentId.getAndIncrement());
|
||||
baseRequest.setActionType(ActionType.NEW);
|
||||
String jsonBaseNewRequest;
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
try {
|
||||
jsonBaseNewRequest = objectMapper.writeValueAsString(baseRequest);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
IMap<Long, RequestInfo> resultsRequestMap = requestInfoImdg.getMap();
|
||||
ImapEvent imapEvent = new ImapEvent(resultsRequestMap);
|
||||
long timeNow = Instant.now().toEpochMilli();
|
||||
//KAFKA
|
||||
mockConsumer.schedulePollTask(() -> {
|
||||
mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC, PARTITION)));
|
||||
mockConsumer.addRecord(new ConsumerRecord<>(TOPIC, PARTITION, 0, "key", jsonBaseNewRequest));
|
||||
});
|
||||
|
||||
HashMap<TopicPartition, Long> startOffsets = new HashMap<>();
|
||||
TopicPartition tp = new TopicPartition(TOPIC, PARTITION);
|
||||
startOffsets.put(tp, 0L);
|
||||
mockConsumer.updateBeginningOffsets(startOffsets);
|
||||
|
||||
//waiting for hazelcast map item updates
|
||||
imapEvent.waitWhenHappened();
|
||||
|
||||
Collection<RequestInfo> resultsRequestInfo = requestInfoImdg.getCollectionObjectsByFieldValues(Map.of("status", Status.Processing));
|
||||
RequestInfo requestInfo = resultsRequestInfo.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get();
|
||||
Long diffRequestInfo = requestInfo.getCreated().toEpochMilli() - timeNow;
|
||||
|
||||
assertTrue(limit.compareTo(diffRequestInfo) > 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package ru.spcex.clearing.balance.utils;
|
||||
|
||||
import com.hazelcast.core.IMap;
|
||||
import com.hazelcast.map.listener.EntryAddedListener;
|
||||
import com.hazelcast.map.listener.EntryRemovedListener;
|
||||
import com.hazelcast.map.listener.EntryUpdatedListener;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
public class ImapEvent<T> {
|
||||
private final IMap<Long, T> iMap;
|
||||
private final String listenerAdding;
|
||||
private final String listenerUpdating;
|
||||
private final String listenerRemoving;
|
||||
private final AtomicBoolean checkEventHappened = new AtomicBoolean(false);
|
||||
|
||||
public ImapEvent(IMap<Long, T> iMap) {
|
||||
this.iMap = iMap;
|
||||
listenerAdding = iMap.addEntryListener((EntryAddedListener<Long, T>) entryEvent -> {
|
||||
synchronized (checkEventHappened) {
|
||||
checkEventHappened.set(true);
|
||||
checkEventHappened.notify();
|
||||
}
|
||||
}, false);
|
||||
listenerUpdating = iMap.addEntryListener((EntryUpdatedListener<Long, T>) entryEvent -> {
|
||||
synchronized (checkEventHappened) {
|
||||
checkEventHappened.set(true);
|
||||
checkEventHappened.notify();
|
||||
}
|
||||
}, false);
|
||||
listenerRemoving = iMap.addEntryListener((EntryRemovedListener<Long, T>) entryEvent -> {
|
||||
synchronized (checkEventHappened) {
|
||||
checkEventHappened.set(true);
|
||||
checkEventHappened.notify();
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
|
||||
public void waitWhenHappened() throws InterruptedException {
|
||||
//running timer task as daemon thread
|
||||
Timer timer = new Timer(true);
|
||||
timer.scheduleAtFixedRate(new TimerTask() {
|
||||
boolean secondRan;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
checkEventHappened.set(secondRan);//если что-то пойдет не так не тормозить основной поток
|
||||
secondRan = true;
|
||||
}
|
||||
}, 0, 20 * 1000);
|
||||
synchronized (checkEventHappened) {
|
||||
while (!checkEventHappened.get()) {
|
||||
checkEventHappened.wait(100);
|
||||
}
|
||||
}
|
||||
//preparing hazelcastImdgProvider for next test
|
||||
iMap.removeEntryListener(listenerAdding);
|
||||
iMap.removeEntryListener(listenerUpdating);
|
||||
iMap.removeEntryListener(listenerRemoving);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,22 +4,22 @@ import ru.clearing.classes.ConstSerializable;
|
|||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class LiabilitiesClaimsAssets extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long companyId;
|
||||
private Instant clearingDate;
|
||||
private LocalDate clearingDate;
|
||||
private Long accountId;
|
||||
private String accountType;
|
||||
private String account;
|
||||
private BigDecimal liabilitiesQuantity;
|
||||
private BigDecimal claimsQuantity;
|
||||
private String currency;
|
||||
private Instant settlementDate;
|
||||
private Instant tradingDate;
|
||||
private Instant refundDate;
|
||||
private LocalDate settlementDate;
|
||||
private LocalDate tradingDate;
|
||||
private LocalDate refundDate;
|
||||
private BigDecimal price;
|
||||
private Long securityId;
|
||||
private String tradingCode;
|
||||
|
|
@ -42,11 +42,11 @@ public class LiabilitiesClaimsAssets extends BusinessObject {
|
|||
this.companyId = value;
|
||||
}
|
||||
|
||||
public Instant getClearingDate() {
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(Instant value) {
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate = value;
|
||||
}
|
||||
|
||||
|
|
@ -98,27 +98,27 @@ public class LiabilitiesClaimsAssets extends BusinessObject {
|
|||
this.currency = value;
|
||||
}
|
||||
|
||||
public Instant getSettlementDate() {
|
||||
public LocalDate getSettlementDate() {
|
||||
return settlementDate;
|
||||
}
|
||||
|
||||
public void setSettlementDate(Instant value) {
|
||||
public void setSettlementDate(LocalDate value) {
|
||||
this.settlementDate = value;
|
||||
}
|
||||
|
||||
public Instant getTradingDate() {
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(Instant value) {
|
||||
public void setTradingDate(LocalDate value) {
|
||||
this.tradingDate = value;
|
||||
}
|
||||
|
||||
public Instant getRefundDate() {
|
||||
public LocalDate getRefundDate() {
|
||||
return refundDate;
|
||||
}
|
||||
|
||||
public void setRefundDate(Instant value) {
|
||||
public void setRefundDate(LocalDate value) {
|
||||
this.refundDate = value;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,189 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Сделки из Торговой системы
|
||||
* <p>
|
||||
* DB table: S_TRADE
|
||||
**/
|
||||
public class STrade extends SpcexObjectBase {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long tradeNum;
|
||||
private String secCode;
|
||||
private Instant tradeDateTime;
|
||||
private LocalDate settleDate;
|
||||
private BigDecimal price;
|
||||
private BigDecimal value;
|
||||
private BigDecimal qty;
|
||||
private BigDecimal accruedint;
|
||||
private String firmId;
|
||||
private String clientCode;
|
||||
private BigDecimal exchangeCommission;
|
||||
private String classCode;
|
||||
private String operation;
|
||||
private String issueAccount;
|
||||
private String moneyAccount;
|
||||
private String tradeType;
|
||||
private Long daysToMatDate;
|
||||
private String collateral;
|
||||
private String settleCode;
|
||||
|
||||
public Long getTradeNum() {
|
||||
return tradeNum;
|
||||
}
|
||||
|
||||
public void setTradeNum(Long value) {
|
||||
this.tradeNum = value;
|
||||
}
|
||||
|
||||
public String getSecCode() {
|
||||
return secCode;
|
||||
}
|
||||
|
||||
public void setSecCode(String value) {
|
||||
this.secCode = value;
|
||||
}
|
||||
|
||||
public Instant getTradeDateTime() {
|
||||
return tradeDateTime;
|
||||
}
|
||||
|
||||
public void setTradeDateTime(Instant value) {
|
||||
this.tradeDateTime = value;
|
||||
}
|
||||
|
||||
public LocalDate getSettleDate() {
|
||||
return settleDate;
|
||||
}
|
||||
|
||||
public void setSettleDate(LocalDate value) {
|
||||
this.settleDate = value;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal value) {
|
||||
this.price = value;
|
||||
}
|
||||
|
||||
public BigDecimal getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(BigDecimal value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public BigDecimal getQty() {
|
||||
return qty;
|
||||
}
|
||||
|
||||
public void setQty(BigDecimal value) {
|
||||
this.qty = value;
|
||||
}
|
||||
|
||||
public BigDecimal getAccruedint() {
|
||||
return accruedint;
|
||||
}
|
||||
|
||||
public void setAccruedint(BigDecimal value) {
|
||||
this.accruedint = value;
|
||||
}
|
||||
|
||||
public String getFirmId() {
|
||||
return firmId;
|
||||
}
|
||||
|
||||
public void setFirmId(String value) {
|
||||
this.firmId = value;
|
||||
}
|
||||
|
||||
public String getClientCode() {
|
||||
return clientCode;
|
||||
}
|
||||
|
||||
public void setClientCode(String value) {
|
||||
this.clientCode = value;
|
||||
}
|
||||
|
||||
public BigDecimal getExchangeCommission() {
|
||||
return exchangeCommission;
|
||||
}
|
||||
|
||||
public void setExchangeCommission(BigDecimal value) {
|
||||
this.exchangeCommission = value;
|
||||
}
|
||||
|
||||
public String getClassCode() {
|
||||
return classCode;
|
||||
}
|
||||
|
||||
public void setClassCode(String value) {
|
||||
this.classCode = value;
|
||||
}
|
||||
|
||||
public String getOperation() {
|
||||
return operation;
|
||||
}
|
||||
|
||||
public void setOperation(String value) {
|
||||
this.operation = value;
|
||||
}
|
||||
|
||||
public String getIssueAccount() {
|
||||
return issueAccount;
|
||||
}
|
||||
|
||||
public void setIssueAccount(String value) {
|
||||
this.issueAccount = value;
|
||||
}
|
||||
|
||||
public String getMoneyAccount() {
|
||||
return moneyAccount;
|
||||
}
|
||||
|
||||
public void setMoneyAccount(String value) {
|
||||
this.moneyAccount = value;
|
||||
}
|
||||
|
||||
public String getTradeType() {
|
||||
return tradeType;
|
||||
}
|
||||
|
||||
public void setTradeType(String value) {
|
||||
this.tradeType = value;
|
||||
}
|
||||
|
||||
public Long getDaysToMatDate() {
|
||||
return daysToMatDate;
|
||||
}
|
||||
|
||||
public void setDaysToMatDate(Long value) {
|
||||
this.daysToMatDate = value;
|
||||
}
|
||||
|
||||
public String getCollateral() {
|
||||
return collateral;
|
||||
}
|
||||
|
||||
public void setCollateral(String value) {
|
||||
this.collateral = value;
|
||||
}
|
||||
|
||||
public String getSettleCode() {
|
||||
return settleCode;
|
||||
}
|
||||
|
||||
public void setSettleCode(String value) {
|
||||
this.settleCode = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Журнал изменений информации участников клиринга
|
||||
**/
|
||||
public class ClearMemberRegisterChange extends SpcexObjectBase {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Instant date;
|
||||
private String comment;
|
||||
private String clearingCode;
|
||||
|
||||
public Instant getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Instant date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public void setComment(String comment) {
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -45,16 +45,16 @@ public class LiabilitiesClaimsAssetsMapStore extends TemplateMapStore<Liabilitie
|
|||
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
|
||||
object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
|
||||
object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
|
||||
object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE"));
|
||||
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
|
||||
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
|
||||
object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class));
|
||||
object.setAccount(resultSet.getObject("ACCOUNT", String.class));
|
||||
object.setLiabilitiesQuantity(resultSet.getObject("LIABILITIES_QUANTITY", BigDecimal.class));
|
||||
object.setClaimsQuantity(resultSet.getObject("CLAIMS_QUANTITY", BigDecimal.class));
|
||||
object.setCurrency(resultSet.getObject("CURRENCY", String.class));
|
||||
object.setSettlementDate(getInstantFromTimestamp(resultSet, "SETTLEMENT_DATE"));
|
||||
object.setTradingDate(getInstantFromTimestamp(resultSet, "TRADING_DATE"));
|
||||
object.setRefundDate(getInstantFromTimestamp(resultSet, "REFUND_DATE"));
|
||||
object.setSettlementDate(getLocalDateFromSqlDate(resultSet, "SETTLEMENT_DATE"));
|
||||
object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE"));
|
||||
object.setRefundDate(getLocalDateFromSqlDate(resultSet, "REFUND_DATE"));
|
||||
object.setPrice(resultSet.getObject("PRICE", BigDecimal.class));
|
||||
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
|
||||
object.setTradingCode(resultSet.getObject("TRADING_CODE", String.class));
|
||||
|
|
@ -78,16 +78,16 @@ public class LiabilitiesClaimsAssetsMapStore extends TemplateMapStore<Liabilitie
|
|||
object.getCompanyId(),
|
||||
TimeUtil.toDateFromInstant(object.getCreated()),
|
||||
TimeUtil.toDateFromInstant(object.getUpdated()),
|
||||
TimeUtil.toDateFromInstant(object.getClearingDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
|
||||
object.getAccountId(),
|
||||
object.getAccountType(),
|
||||
object.getAccount(),
|
||||
object.getLiabilitiesQuantity(),
|
||||
object.getClaimsQuantity(),
|
||||
object.getCurrency(),
|
||||
TimeUtil.toDateFromInstant(object.getSettlementDate()),
|
||||
TimeUtil.toDateFromInstant(object.getTradingDate()),
|
||||
TimeUtil.toDateFromInstant(object.getRefundDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getSettlementDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getRefundDate()),
|
||||
object.getPrice(),
|
||||
object.getSecurityId(),
|
||||
object.getTradingCode(),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
package ru.spcex.clearing.imdg.object;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.misc.STrade;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Component
|
||||
public class STradeMapStore extends TemplateMapStore<STrade> {
|
||||
|
||||
public STradeMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_STrade;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "S_TRADE";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{
|
||||
"ID", "TRADE_NUM", "SEC_CODE", "TRADE_DATE_TIME", "SETTLE_DATE", "PRICE", "VALUE", "QTY", "ACCRUEDINT",
|
||||
"FIRM_ID", "CLIENT_CODE", "EXCHANGE_COMMISSION", "CLASS_CODE", "OPERATION", "ISSUE_ACCOUNT",
|
||||
"MONEY_ACCOUNT", "TRADE_TYPE", "DAYS_TO_MAT_DATE", "COLLATERAL", "SETTLE_CODE"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public STrade objectReader(ResultSet resultSet) throws SQLException {
|
||||
STrade object = new STrade();
|
||||
object.setId(resultSet.getObject("ID", Long.class));
|
||||
object.setTradeNum(resultSet.getObject("TRADE_NUM", Long.class));
|
||||
object.setSecCode(resultSet.getObject("SEC_CODE", String.class));
|
||||
object.setTradeDateTime(getInstantFromTimestamp(resultSet, "TRADE_DATE_TIME"));
|
||||
object.setSettleDate(resultSet.getObject("SETTLE_DATE", LocalDate.class));
|
||||
object.setPrice(resultSet.getObject("PRICE", BigDecimal.class));
|
||||
object.setValue(resultSet.getObject("VALUE", BigDecimal.class));
|
||||
object.setQty(resultSet.getObject("QTY", BigDecimal.class));
|
||||
object.setAccruedint(resultSet.getObject("ACCRUEDINT", BigDecimal.class));
|
||||
object.setFirmId(resultSet.getObject("FIRM_ID", String.class));
|
||||
object.setClientCode(resultSet.getObject("CLIENT_CODE", String.class));
|
||||
object.setExchangeCommission(resultSet.getObject("EXCHANGE_COMMISSION", BigDecimal.class));
|
||||
object.setClassCode(resultSet.getObject("CLASS_CODE", String.class));
|
||||
object.setOperation(resultSet.getObject("OPERATION", String.class));
|
||||
object.setIssueAccount(resultSet.getObject("ISSUE_ACCOUNT", String.class));
|
||||
object.setMoneyAccount(resultSet.getObject("MONEY_ACCOUNT", String.class));
|
||||
object.setTradeType(resultSet.getObject("TRADE_TYPE", String.class));
|
||||
object.setDaysToMatDate(resultSet.getObject("DAYS_TO_MAT_DATE", Long.class));
|
||||
object.setCollateral(resultSet.getObject("COLLATERAL", String.class));
|
||||
object.setSettleCode(resultSet.getObject("SETTLE_CODE", String.class));
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(STrade object) {
|
||||
Object[] args = new Object[]{
|
||||
object.getId(),
|
||||
object.getTradeNum(),
|
||||
object.getSecCode(),
|
||||
TimeUtil.toDateFromInstant(object.getTradeDateTime()),
|
||||
object.getSettleDate(),
|
||||
object.getPrice(),
|
||||
object.getValue(),
|
||||
object.getQty(),
|
||||
object.getAccruedint(),
|
||||
object.getFirmId(),
|
||||
object.getClientCode(),
|
||||
object.getExchangeCommission(),
|
||||
object.getClassCode(),
|
||||
object.getOperation(),
|
||||
object.getIssueAccount(),
|
||||
object.getMoneyAccount(),
|
||||
object.getTradeType(),
|
||||
object.getDaysToMatDate(),
|
||||
object.getCollateral(),
|
||||
object.getSettleCode()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -12,11 +12,15 @@ import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
|||
import ru.clearing.classes.statics.data.journal.InDocumentJournal;
|
||||
import ru.clearing.classes.statics.data.journal.ManagementJournal;
|
||||
import ru.clearing.classes.statics.data.journal.OutDocumentJournal;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.clearing.classes.statics.data.messages.ErrorText;
|
||||
import ru.clearing.classes.statics.data.misc.*;
|
||||
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
||||
import ru.clearing.classes.statics.data.profile.Contact;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.clearing.classes.statics.data.register.OrderRegister;
|
||||
import ru.clearing.classes.statics.data.register.ReportRegister;
|
||||
import ru.clearing.classes.statics.data.scheduler.*;
|
||||
import ru.clearing.classes.statics.data.sdf.*;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
|
|
@ -66,6 +70,10 @@ public class RunnableMapNamesForTesting {
|
|||
usingIgnoringFieldsComparator("profile.clearingCode", "profile.fullName", "profile.registrationCode", "profile.shortName", "profile.tradingCode")));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ErrorText, ErrorText.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Launcher, Launcher.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, LiabilitiesClaimsMoney.class,
|
||||
new SettingOperation("setClaimsAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("04.92")}),
|
||||
new SettingOperation("setLiabilitiesAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("06.26")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Listing, Listing.class,
|
||||
new SettingOperation("setLotSize", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("21.11")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ManagementJournal, ManagementJournal.class));
|
||||
|
|
@ -78,11 +86,6 @@ public class RunnableMapNamesForTesting {
|
|||
new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("23.22")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserConnect, UserConnect.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_User, User.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_VerificationResult, VerificationResult.class,
|
||||
new SettingOperation("setDiffSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("13.22")}),
|
||||
new SettingOperation("setInSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("14.22")}),
|
||||
new SettingOperation("setOutExtSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("15.22")}),
|
||||
new SettingOperation("setOutIntSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("19.22")})));
|
||||
|
||||
//dictionary
|
||||
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_AccountStatusDictionary, AccountStatusDictionary.class));
|
||||
|
|
@ -128,12 +131,26 @@ public class RunnableMapNamesForTesting {
|
|||
|
||||
//object
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountRouting, AccountRouting.class));
|
||||
// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AdmittedDealRegister, AdmittedDealRegister.class,
|
||||
// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("19.12")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_BankAccount, BankAccount.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearMemberRegister, ClearMemberRegister.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Contact, Contact.class));
|
||||
// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class));
|
||||
// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CoveredDealRegister, CoveredDealRegister.class,
|
||||
// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("11.11")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Currency, Currency.class));
|
||||
// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_DealRegister, DealRegister.class,
|
||||
//// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("11.11")})));
|
||||
// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class,
|
||||
// new SettingOperation("setFirstLegAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("03.22")}),
|
||||
// new SettingOperation("setSecondLegAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("03.33")}),
|
||||
// new SettingOperation("setInterestAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("04.22")}),
|
||||
// new SettingOperation("setLots", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("05.22")}),
|
||||
// new SettingOperation("setQuantity", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("09.22")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_InDocumentJournal, InDocumentJournal.class,
|
||||
new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("22.12")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class));
|
||||
|
|
@ -141,11 +158,13 @@ public class RunnableMapNamesForTesting {
|
|||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class,
|
||||
new SettingOperation("setNominalValue", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("25.25")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Notification, Notification.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_OrderRegister, OrderRegister.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_OutDocumentJournal, OutDocumentJournal.class,
|
||||
new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("28.28")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_PlannerAllToday, PlannerAllToday.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ReportRegister, ReportRegister.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf01, SDf01.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf02, SDf02.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf03, SDf03.class));
|
||||
|
|
@ -161,7 +180,16 @@ public class RunnableMapNamesForTesting {
|
|||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf17, SDf17.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf18, SDf18.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Session, Session.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_STrade, STrade.class,
|
||||
new SettingOperation("setQty", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("23.92")}),
|
||||
new SettingOperation("setValue", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("24.92")}),
|
||||
new SettingOperation("setExchange_commission", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("26.26")})));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserSettings, UserSettings.class));
|
||||
businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_VerificationResult, VerificationResult.class,
|
||||
new SettingOperation("setDiffSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("13.22")}),
|
||||
new SettingOperation("setInSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("14.22")}),
|
||||
new SettingOperation("setOutExtSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("15.22")}),
|
||||
new SettingOperation("setOutIntSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("19.22")})));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
-- DB version: 2.4.4.0
|
||||
-- DB version: 2.4.0.7
|
||||
/* Dictionaries */
|
||||
|
||||
-- chargeDirection - Направление начисления комиссии
|
||||
|
|
@ -1532,7 +1532,7 @@ COMMENT ON COLUMN ACCOUNT_BALANCE.COMPANY_ID IS 'Наименование уча
|
|||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_ID IS 'Наименование счета (linked to account)';
|
||||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_TYPE IS 'Тип счета (linked to account)';
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)';
|
||||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT IS 'Наименование счета';
|
||||
|
||||
|
|
@ -1586,7 +1586,7 @@ COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.COMPANY_ID IS 'Наименовани
|
|||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_ID IS 'Наименование счета (linked to account)';
|
||||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_TYPE IS 'Тип счета (linked to account)';
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)';
|
||||
|
||||
COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT IS 'Наименование счета';
|
||||
|
||||
|
|
@ -3414,110 +3414,5 @@ COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.USER_ID IS 'Наименован
|
|||
|
||||
/* views */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Data types
|
||||
|
||||
|
|
@ -15,16 +15,12 @@
|
|||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-messaging</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-enum</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
<artifactId>platform-imdg-api-hazelcast-impl</artifactId>
|
||||
|
|
@ -37,6 +33,15 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
|
|||
|
||||
@Component
|
||||
@PropertySource("file:${spring.config.location}/application.properties")
|
||||
@ConfigurationProperties("utility-service")
|
||||
@ConfigurationProperties("registry-service")
|
||||
public class RegistryServiceSettings {
|
||||
private HazelcastClientParams hazelcast;
|
||||
private KafkaConsumerSettings kafkaConsumer;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.register.AdmittedDealRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.AdmittedDealRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Service
|
||||
public class AdmittedDealRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<AdmittedDealRegister> admittedDealRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public AdmittedDealRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.admittedDealRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_AdmittedDealRegister, AdmittedDealRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(AdmittedDealRegisterNewRequest.class)
|
||||
.setConsumer(this::admittedDealRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_ADMITTED_DEAL_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void admittedDealRegisterNew(BaseRequest<AdmittedDealRegisterNewRequest> userRequest) {
|
||||
AdmittedDealRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("AdmittedDealRegisterNewRequest received");
|
||||
AdmittedDealRegister register = new AdmittedDealRegister();
|
||||
register.setExecutionId(req.getExecutionId());
|
||||
register.setCompanyFullName(req.getCompanyFullName());
|
||||
register.setTradingDate(req.getTradingDate());
|
||||
register.setExchangeExecutionId(req.getExchangeExecutionId());
|
||||
register.setExchangeExecutionTime(req.getExchangeExecutionTime());
|
||||
register.setSecuritySymbol(req.getSecuritySymbol());
|
||||
register.setSecurityFullName(req.getSecurityFullName());
|
||||
register.setSellerFullName(req.getSellerFullName());
|
||||
register.setSellerClearingCode(req.getSellerClearingCode());
|
||||
register.setSellerAccount(req.getSellerAccount());
|
||||
register.setBuyerFullName(req.getBuyerFullName());
|
||||
register.setBuyerClearingCode(req.getBuyerClearingCode());
|
||||
register.setBuyerAccount(req.getBuyerAccount());
|
||||
register.setAmount(req.getAmount());
|
||||
register.setClearingDate(req.getClearingDate());
|
||||
admittedDealRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.misc.BalanceRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.BalanceRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
||||
@Service
|
||||
public class BalanceRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<BalanceRegister> balanceRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public BalanceRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.balanceRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BalanceRegister, BalanceRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(BalanceRegisterNewRequest.class)
|
||||
.setConsumer(this::balanceRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_BALANCE_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void balanceRegisterNew(BaseRequest<BalanceRegisterNewRequest> userRequest) {
|
||||
BalanceRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("BalanceRegisterNewRequest received");
|
||||
BalanceRegister register = new BalanceRegister();
|
||||
register.setsDf01Date(req.getsDf01Date());
|
||||
register.setCurrencyCode(req.getCurrencyCode());
|
||||
register.setSetHouseName(req.getSetHouseName());
|
||||
register.setAccount(req.getAccount());
|
||||
register.setInfoAccount(req.getInfoAccount());
|
||||
register.setRemainderSum(req.getRemainderSum());
|
||||
register.setBlockedSum(req.getBlockedSum());
|
||||
register.setUnblockedSum(req.getUnblockedSum());
|
||||
register.setInn(req.getInn());
|
||||
register.setMarket(req.getMarket());
|
||||
register.setFullName(req.getFullName());
|
||||
register.setTypeRemains(req.getTypeRemains());
|
||||
register.setDocNumber(req.getDocNumber());
|
||||
register.setCompanyId(req.getCompanyId());
|
||||
balanceRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.register.ClearMemberRegisterChange;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ClearMemberRegisterChangeNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Service
|
||||
public class ClearMemberRegisterChangeService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<ClearMemberRegisterChange> clearMemberRegisterChangeMap;
|
||||
|
||||
@Autowired
|
||||
public ClearMemberRegisterChangeService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.clearMemberRegisterChangeMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearMemberRegisterChange, ClearMemberRegisterChange.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(ClearMemberRegisterChangeNewRequest.class)
|
||||
.setConsumer(this::clearMemberRegisterChangeNew)
|
||||
.forDestination(Consts.REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void clearMemberRegisterChangeNew(BaseRequest<ClearMemberRegisterChangeNewRequest> userRequest) {
|
||||
ClearMemberRegisterChangeNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("ClearMemberRegisterChangeNewRequest received");
|
||||
ClearMemberRegisterChange register = new ClearMemberRegisterChange();
|
||||
register.setDate(req.getDate());
|
||||
register.setComment(req.getComment());
|
||||
register.setClearingCode(req.getClearingCode());
|
||||
clearMemberRegisterChangeMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.misc.ClearMemberRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ClearMemberRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
||||
@Service
|
||||
public class ClearMemberRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<ClearMemberRegister> clearMemberRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public ClearMemberRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.clearMemberRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearMemberRegister, ClearMemberRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(ClearMemberRegisterNewRequest.class)
|
||||
.setConsumer(this::clearMemberRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_CLEAR_MEMBER_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void clearMemberRegisterNew(BaseRequest<ClearMemberRegisterNewRequest> userRequest) {
|
||||
ClearMemberRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("ClearMemberRegisterNewRequest received");
|
||||
ClearMemberRegister register = new ClearMemberRegister();
|
||||
register.setTradingCode(req.getTradingCode());
|
||||
register.setClearingCode(req.getClearingCode());
|
||||
register.setFullName(req.getFullName());
|
||||
register.setShortName(req.getShortName());
|
||||
register.setCategoryList(req.getCategoryList());
|
||||
register.setCorporationSole(req.getCorporationSole());
|
||||
register.setAccount(req.getAccount());
|
||||
register.setBank(req.getBank());
|
||||
register.setBankName(req.getBankName());
|
||||
register.setInn(req.getInn());
|
||||
register.setBic(req.getBic());
|
||||
register.setOgrn(req.getOgrn());
|
||||
register.setCpp(req.getCpp());
|
||||
register.setOcpo(req.getOcpo());
|
||||
register.setContractNumber(req.getContractNumber());
|
||||
register.setContractDate(req.getContractDate());
|
||||
register.setRegistrationDate(req.getRegistrationDate());
|
||||
register.setSystemDate(req.getSystemDate());
|
||||
register.setAccessDate(req.getAccessDate());
|
||||
register.setSuspentionDate(req.getSuspentionDate());
|
||||
register.setReopeningDate(req.getReopeningDate());
|
||||
register.setCloseDate(req.getCloseDate());
|
||||
register.setExclusionDate(req.getExclusionDate());
|
||||
register.setAddress(req.getAddress());
|
||||
register.setEmail(req.getEmail());
|
||||
clearMemberRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.register.ContractRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ContractRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
||||
@Service
|
||||
public class ContractRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<ContractRegister> contractRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public ContractRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.contractRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(ContractRegisterNewRequest.class)
|
||||
.setConsumer(this::contractRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_CONTRACT_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void contractRegisterNew(BaseRequest<ContractRegisterNewRequest> userRequest) {
|
||||
ContractRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("ContractRegisterNewRequest received");
|
||||
ContractRegister register = new ContractRegister();
|
||||
register.setName(req.getName());
|
||||
register.setNumber(req.getNumber());
|
||||
register.setIssueDate(req.getIssueDate());
|
||||
register.setCompanyFullName(req.getCompanyFullName());
|
||||
register.setCompanyId(req.getCompanyId());
|
||||
register.setDocumentType(req.getDocumentType());
|
||||
register.setIssuePlace(req.getIssuePlace());
|
||||
register.setIssuer(req.getIssuer());
|
||||
register.setIssuerCode(req.getIssuerCode());
|
||||
register.setPlace(req.getPlace());
|
||||
register.setValidFromDate(req.getValidFromDate());
|
||||
register.setValidToDate(req.getValidToDate());
|
||||
register.setCloseDate(req.getCloseDate());
|
||||
register.setComment(req.getComment());
|
||||
|
||||
contractRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.register.OrderRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.OrderRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Service
|
||||
public class OrderRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<OrderRegister> orderRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public OrderRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.orderRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_OrderRegister, OrderRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(OrderRegisterNewRequest.class)
|
||||
.setConsumer(this::orderRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_ORDER_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void orderRegisterNew(BaseRequest<OrderRegisterNewRequest> userRequest) {
|
||||
OrderRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("OrderRegisterNewRequest received");
|
||||
OrderRegister register = new OrderRegister();
|
||||
register.setCreditLegAccount(req.getCreditLegAccount());
|
||||
register.setCreditLegAmount(req.getCreditLegAmount());
|
||||
register.setCreditLegCurrencyCode(req.getCreditLegCurrencyCode());
|
||||
register.setCreditLegDirection(req.getCreditLegDirection());
|
||||
register.setDebitLegAccount(req.getDebitLegAccount());
|
||||
register.setSender(req.getSender());
|
||||
register.setAddressee(req.getAddressee());
|
||||
register.setDocumentNumber(req.getDocumentNumber());
|
||||
register.setClearingDate(req.getClearingDate());
|
||||
orderRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package ru.spcex.clearing.registry.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.register.UncoveredDealRegister;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.UncoveredDealRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Service
|
||||
public class UncoveredDealRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<UncoveredDealRegister> uncoveredDealRegisterMap;
|
||||
|
||||
@Autowired
|
||||
public UncoveredDealRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.uncoveredDealRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_UncoveredDealRegister, UncoveredDealRegister.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(UncoveredDealRegisterNewRequest.class)
|
||||
.setConsumer(this::uncoveredDealRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_UNCOVERED_DEAL_REGISTER_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void uncoveredDealRegisterNew(BaseRequest<UncoveredDealRegisterNewRequest> userRequest) {
|
||||
UncoveredDealRegisterNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("UncoveredDealRegisterNewRequest received");
|
||||
UncoveredDealRegister register = new UncoveredDealRegister();
|
||||
register.setExecutionId(req.getExecutionId());
|
||||
register.setCompanyFullName(req.getCompanyFullName());
|
||||
register.setTradingDate(req.getTradingDate());
|
||||
register.setExchangeExecutionId(req.getExchangeExecutionId());
|
||||
register.setExchangeExecutionTime(req.getExchangeExecutionTime());
|
||||
register.setSecuritySymbol(req.getSecuritySymbol());
|
||||
register.setSecurityFullName(req.getSecurityFullName());
|
||||
register.setSellerFullName(req.getSellerFullName());
|
||||
register.setSellerClearingCode(req.getSellerClearingCode());
|
||||
register.setSellerAccount(req.getSellerAccount());
|
||||
register.setBuyerFullName(req.getBuyerFullName());
|
||||
register.setBuyerClearingCode(req.getBuyerClearingCode());
|
||||
register.setBuyerAccount(req.getBuyerAccount());
|
||||
register.setAmount(req.getAmount());
|
||||
register.setResultStatus(req.getResultStatus());
|
||||
register.setClearingDate(req.getClearingDate());
|
||||
uncoveredDealRegisterMap.insert(register);
|
||||
log.debug("successfully processed, id {}", register.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ import java.util.Map;
|
|||
@Service
|
||||
public class ReportsServiceCommand implements InitializingBean {
|
||||
public static final String QUEUE_RUN_REPORT_COMMAND = "GREP"; // см. Task.createReport
|
||||
public static final String QUEUE_RUN_DAILY_REPORT_COMMAND = "DAILY";
|
||||
public static final String QUEUE_RUN_DAILY_REPORT_COMMAND = QUEUE_RUN_REPORT_COMMAND; // дневные тоже по команде GREP запускать с остальными.
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
|
|
|
|||
|
|
@ -110,6 +110,7 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_LiabilitiesClaimsAssets = "Map_LiabilitiesClaimsAssets";
|
||||
public static final String Map_LiabilitiesClaimsMoney = "Map_LiabilitiesClaimsMoney";
|
||||
public static final String Map_ClearMemberRegister = "Map_ClearMemberRegister";
|
||||
public static final String Map_ClearMemberRegisterChange = "Map_ClearMemberRegisterChange";
|
||||
public static final String Map_BalanceRegister = "Map_BalanceRegister";
|
||||
public static final String Map_ExecutionDeposit = "Map_ExecutionDeposit";
|
||||
public static final String Map_DealRegister = "Map_DealRegister";
|
||||
|
|
@ -120,6 +121,7 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_ContractRegister = "Map_ContractRegister";
|
||||
public static final String Map_OrderRegister = "Map_OrderRegister";
|
||||
public static final String Map_VerificationResult = "Map_VerificationResult";
|
||||
public static final String Map_STrade = "Map_STrade";
|
||||
|
||||
public static final String MAP_SEQUENCE_NAME = "MAP_SEQUENCE_NAME";
|
||||
|
||||
|
|
|
|||
|
|
@ -56,4 +56,13 @@ public interface Consts {
|
|||
String REQUEST_INFO_UPDATE = "request-info-update";
|
||||
|
||||
String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new";
|
||||
String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new";
|
||||
|
||||
String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new";
|
||||
String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new";
|
||||
String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new";
|
||||
String REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = "registry-uncovered-deal-register-new";
|
||||
String REGISTRY_CLEAR_MEMBER_REGISTER_NEW = "registry-clear-member-register-new";
|
||||
String REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW = "registry-clear-member-register-change-new";
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,190 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class AdmittedDealRegisterNewRequest {
|
||||
@JsonProperty
|
||||
public Long executionId;
|
||||
@JsonProperty
|
||||
public String companyFullName;
|
||||
@JsonProperty
|
||||
public LocalDate tradingDate;
|
||||
@JsonProperty
|
||||
public Long exchangeExecutionId;
|
||||
@JsonProperty
|
||||
public Instant exchangeExecutionTime;
|
||||
@JsonProperty
|
||||
public String securitySymbol;
|
||||
@JsonProperty
|
||||
public String securityFullName;
|
||||
@JsonProperty
|
||||
public String sellerFullName;
|
||||
@JsonProperty
|
||||
public String sellerClearingCode;
|
||||
@JsonProperty
|
||||
public String sellerAccount;
|
||||
@JsonProperty
|
||||
public String buyerFullName;
|
||||
@JsonProperty
|
||||
public String buyerClearingCode;
|
||||
@JsonProperty
|
||||
public String buyerAccount;
|
||||
@JsonProperty
|
||||
public BigDecimal amount;
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@JsonProperty
|
||||
public Instant createdAt;
|
||||
@JsonProperty
|
||||
public Instant updatedAt;
|
||||
@JsonProperty
|
||||
public LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSellerFullName() {
|
||||
return sellerFullName;
|
||||
}
|
||||
|
||||
public void setSellerFullName(String sellerFullName) {
|
||||
this.sellerFullName = sellerFullName;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
}
|
||||
|
||||
public String getSellerAccount() {
|
||||
return sellerAccount;
|
||||
}
|
||||
|
||||
public void setSellerAccount(String sellerAccount) {
|
||||
this.sellerAccount = sellerAccount;
|
||||
}
|
||||
|
||||
public String getBuyerFullName() {
|
||||
return buyerFullName;
|
||||
}
|
||||
|
||||
public void setBuyerFullName(String buyerFullName) {
|
||||
this.buyerFullName = buyerFullName;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
}
|
||||
|
||||
public String getBuyerAccount() {
|
||||
return buyerAccount;
|
||||
}
|
||||
|
||||
public void setBuyerAccount(String buyerAccount) {
|
||||
this.buyerAccount = buyerAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,196 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
public class BalanceRegisterNewRequest {
|
||||
|
||||
@JsonProperty
|
||||
private Instant sDf01Date;
|
||||
|
||||
@JsonProperty
|
||||
private String currencyCode;
|
||||
|
||||
@JsonProperty
|
||||
private String setHouseName;
|
||||
|
||||
@JsonProperty
|
||||
private String account;
|
||||
|
||||
@JsonProperty
|
||||
private String infoAccount;
|
||||
|
||||
@JsonProperty
|
||||
private BigDecimal remainderSum;
|
||||
|
||||
@JsonProperty
|
||||
private BigDecimal blockedSum;
|
||||
|
||||
@JsonProperty
|
||||
private BigDecimal unblockedSum;
|
||||
|
||||
@JsonProperty
|
||||
private String inn;
|
||||
|
||||
@JsonProperty
|
||||
private Long market;
|
||||
|
||||
@JsonProperty
|
||||
private String fullName;
|
||||
|
||||
@JsonProperty
|
||||
private String typeRemains;
|
||||
|
||||
@JsonProperty
|
||||
private String docNumber;
|
||||
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
|
||||
@JsonProperty
|
||||
private Instant createdAt;
|
||||
|
||||
@JsonProperty
|
||||
private Instant updatedAt;
|
||||
|
||||
public Instant getsDf01Date() {
|
||||
return sDf01Date;
|
||||
}
|
||||
|
||||
public void setsDf01Date(Instant sDf01Date) {
|
||||
this.sDf01Date = sDf01Date;
|
||||
}
|
||||
|
||||
public String getCurrencyCode() {
|
||||
return currencyCode;
|
||||
}
|
||||
|
||||
public void setCurrencyCode(String currencyCode) {
|
||||
this.currencyCode = currencyCode;
|
||||
}
|
||||
|
||||
public String getSetHouseName() {
|
||||
return setHouseName;
|
||||
}
|
||||
|
||||
public void setSetHouseName(String setHouseName) {
|
||||
this.setHouseName = setHouseName;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getInfoAccount() {
|
||||
return infoAccount;
|
||||
}
|
||||
|
||||
public void setInfoAccount(String infoAccount) {
|
||||
this.infoAccount = infoAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getRemainderSum() {
|
||||
return remainderSum;
|
||||
}
|
||||
|
||||
public void setRemainderSum(BigDecimal remainderSum) {
|
||||
this.remainderSum = remainderSum;
|
||||
}
|
||||
|
||||
public BigDecimal getBlockedSum() {
|
||||
return blockedSum;
|
||||
}
|
||||
|
||||
public void setBlockedSum(BigDecimal blockedSum) {
|
||||
this.blockedSum = blockedSum;
|
||||
}
|
||||
|
||||
public BigDecimal getUnblockedSum() {
|
||||
return unblockedSum;
|
||||
}
|
||||
|
||||
public void setUnblockedSum(BigDecimal unblockedSum) {
|
||||
this.unblockedSum = unblockedSum;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
}
|
||||
|
||||
public Long getMarket() {
|
||||
return market;
|
||||
}
|
||||
|
||||
public void setMarket(Long market) {
|
||||
this.market = market;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getTypeRemains() {
|
||||
return typeRemains;
|
||||
}
|
||||
|
||||
public void setTypeRemains(String typeRemains) {
|
||||
this.typeRemains = typeRemains;
|
||||
}
|
||||
|
||||
public String getDocNumber() {
|
||||
return docNumber;
|
||||
}
|
||||
|
||||
public void setDocNumber(String docNumber) {
|
||||
this.docNumber = docNumber;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
public class ClearMemberRegisterChangeNewRequest {
|
||||
@JsonProperty
|
||||
private Instant date;
|
||||
@JsonProperty
|
||||
private String clearingCode;
|
||||
@JsonProperty
|
||||
private String comment;
|
||||
|
||||
public Instant getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Instant date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public void setComment(String comment) {
|
||||
this.comment = comment;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,317 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ClearMemberRegisterNewRequest {
|
||||
|
||||
@JsonProperty
|
||||
private String tradingCode;
|
||||
|
||||
@JsonProperty
|
||||
private String clearingCode;
|
||||
|
||||
@JsonProperty
|
||||
private String fullName;
|
||||
|
||||
@JsonProperty
|
||||
private String shortName;
|
||||
|
||||
@JsonProperty
|
||||
private String categoryList;
|
||||
|
||||
@JsonProperty
|
||||
private String corporationSole;
|
||||
|
||||
@JsonProperty
|
||||
private String account;
|
||||
|
||||
@JsonProperty
|
||||
private Long bank;
|
||||
|
||||
@JsonProperty
|
||||
private String bankName;
|
||||
|
||||
@JsonProperty
|
||||
private String inn;
|
||||
|
||||
@JsonProperty
|
||||
private String bic;
|
||||
|
||||
@JsonProperty
|
||||
private String ogrn;
|
||||
|
||||
@JsonProperty
|
||||
private String cpp;
|
||||
|
||||
@JsonProperty
|
||||
private String ocpo;
|
||||
|
||||
@JsonProperty
|
||||
private String contractNumber;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate contractDate;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate registrationDate;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate systemDate;
|
||||
|
||||
@JsonProperty
|
||||
private Instant accessDate;
|
||||
|
||||
@JsonProperty
|
||||
private Instant suspentionDate;
|
||||
|
||||
@JsonProperty
|
||||
private Instant reopeningDate;
|
||||
|
||||
@JsonProperty
|
||||
private Instant closeDate;
|
||||
|
||||
@JsonProperty
|
||||
private Instant exclusionDate;
|
||||
|
||||
@JsonProperty
|
||||
private String address;
|
||||
|
||||
@JsonProperty
|
||||
private String email;
|
||||
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
|
||||
@JsonProperty
|
||||
private Instant createdAt;
|
||||
|
||||
@JsonProperty
|
||||
private Instant updatedAt;
|
||||
|
||||
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 getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getCategoryList() {
|
||||
return categoryList;
|
||||
}
|
||||
|
||||
public void setCategoryList(String categoryList) {
|
||||
this.categoryList = categoryList;
|
||||
}
|
||||
|
||||
public String getCorporationSole() {
|
||||
return corporationSole;
|
||||
}
|
||||
|
||||
public void setCorporationSole(String corporationSole) {
|
||||
this.corporationSole = corporationSole;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public Long getBank() {
|
||||
return bank;
|
||||
}
|
||||
|
||||
public void setBank(Long bank) {
|
||||
this.bank = bank;
|
||||
}
|
||||
|
||||
public String getBankName() {
|
||||
return bankName;
|
||||
}
|
||||
|
||||
public void setBankName(String bankName) {
|
||||
this.bankName = bankName;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
}
|
||||
|
||||
public String getBic() {
|
||||
return bic;
|
||||
}
|
||||
|
||||
public void setBic(String bic) {
|
||||
this.bic = bic;
|
||||
}
|
||||
|
||||
public String getOgrn() {
|
||||
return ogrn;
|
||||
}
|
||||
|
||||
public void setOgrn(String ogrn) {
|
||||
this.ogrn = ogrn;
|
||||
}
|
||||
|
||||
public String getCpp() {
|
||||
return cpp;
|
||||
}
|
||||
|
||||
public void setCpp(String cpp) {
|
||||
this.cpp = cpp;
|
||||
}
|
||||
|
||||
public String getOcpo() {
|
||||
return ocpo;
|
||||
}
|
||||
|
||||
public void setOcpo(String ocpo) {
|
||||
this.ocpo = ocpo;
|
||||
}
|
||||
|
||||
public String getContractNumber() {
|
||||
return contractNumber;
|
||||
}
|
||||
|
||||
public void setContractNumber(String contractNumber) {
|
||||
this.contractNumber = contractNumber;
|
||||
}
|
||||
|
||||
public LocalDate getContractDate() {
|
||||
return contractDate;
|
||||
}
|
||||
|
||||
public void setContractDate(LocalDate contractDate) {
|
||||
this.contractDate = contractDate;
|
||||
}
|
||||
|
||||
public LocalDate getRegistrationDate() {
|
||||
return registrationDate;
|
||||
}
|
||||
|
||||
public void setRegistrationDate(LocalDate registrationDate) {
|
||||
this.registrationDate = registrationDate;
|
||||
}
|
||||
|
||||
public LocalDate getSystemDate() {
|
||||
return systemDate;
|
||||
}
|
||||
|
||||
public void setSystemDate(LocalDate systemDate) {
|
||||
this.systemDate = systemDate;
|
||||
}
|
||||
|
||||
public Instant getAccessDate() {
|
||||
return accessDate;
|
||||
}
|
||||
|
||||
public void setAccessDate(Instant accessDate) {
|
||||
this.accessDate = accessDate;
|
||||
}
|
||||
|
||||
public Instant getSuspentionDate() {
|
||||
return suspentionDate;
|
||||
}
|
||||
|
||||
public void setSuspentionDate(Instant suspentionDate) {
|
||||
this.suspentionDate = suspentionDate;
|
||||
}
|
||||
|
||||
public Instant getReopeningDate() {
|
||||
return reopeningDate;
|
||||
}
|
||||
|
||||
public void setReopeningDate(Instant reopeningDate) {
|
||||
this.reopeningDate = reopeningDate;
|
||||
}
|
||||
|
||||
public Instant getCloseDate() {
|
||||
return closeDate;
|
||||
}
|
||||
|
||||
public void setCloseDate(Instant closeDate) {
|
||||
this.closeDate = closeDate;
|
||||
}
|
||||
|
||||
public Instant getExclusionDate() {
|
||||
return exclusionDate;
|
||||
}
|
||||
|
||||
public void setExclusionDate(Instant exclusionDate) {
|
||||
this.exclusionDate = exclusionDate;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,196 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ContractRegisterNewRequest {
|
||||
|
||||
@JsonProperty
|
||||
private String name;
|
||||
|
||||
@JsonProperty
|
||||
private String number;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate issueDate;
|
||||
|
||||
@JsonProperty
|
||||
private Long companyFullName;
|
||||
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
|
||||
@JsonProperty
|
||||
private String documentType;
|
||||
|
||||
@JsonProperty
|
||||
private String issuePlace;
|
||||
|
||||
@JsonProperty
|
||||
private String issuer;
|
||||
|
||||
@JsonProperty
|
||||
private String issuerCode;
|
||||
|
||||
@JsonProperty
|
||||
private String place;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate validFromDate;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate validToDate;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate closeDate;
|
||||
|
||||
@JsonProperty
|
||||
private String comment;
|
||||
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
|
||||
@JsonProperty
|
||||
private Instant createdAt;
|
||||
|
||||
@JsonProperty
|
||||
private Instant updatedAt;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public LocalDate getCloseDate() {
|
||||
return closeDate;
|
||||
}
|
||||
|
||||
public void setCloseDate(LocalDate closeDate) {
|
||||
this.closeDate = closeDate;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public void setComment(String comment) {
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public LocalDate getIssueDate() {
|
||||
return issueDate;
|
||||
}
|
||||
|
||||
public void setIssueDate(LocalDate issueDate) {
|
||||
this.issueDate = issueDate;
|
||||
}
|
||||
|
||||
public Long getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(Long companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getDocumentType() {
|
||||
return documentType;
|
||||
}
|
||||
|
||||
public void setDocumentType(String documentType) {
|
||||
this.documentType = documentType;
|
||||
}
|
||||
|
||||
public String getIssuePlace() {
|
||||
return issuePlace;
|
||||
}
|
||||
|
||||
public void setIssuePlace(String issuePlace) {
|
||||
this.issuePlace = issuePlace;
|
||||
}
|
||||
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
|
||||
public void setIssuer(String issuer) {
|
||||
this.issuer = issuer;
|
||||
}
|
||||
|
||||
public String getIssuerCode() {
|
||||
return issuerCode;
|
||||
}
|
||||
|
||||
public void setIssuerCode(String issuerCode) {
|
||||
this.issuerCode = issuerCode;
|
||||
}
|
||||
|
||||
public String getPlace() {
|
||||
return place;
|
||||
}
|
||||
|
||||
public void setPlace(String place) {
|
||||
this.place = place;
|
||||
}
|
||||
|
||||
public LocalDate getValidFromDate() {
|
||||
return validFromDate;
|
||||
}
|
||||
|
||||
public void setValidFromDate(LocalDate validFromDate) {
|
||||
this.validFromDate = validFromDate;
|
||||
}
|
||||
|
||||
public LocalDate getValidToDate() {
|
||||
return validToDate;
|
||||
}
|
||||
|
||||
public void setValidToDate(LocalDate validToDate) {
|
||||
this.validToDate = validToDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,6 @@ import java.time.LocalDate;
|
|||
|
||||
public class CoveredDealRegisterNewRequest {
|
||||
|
||||
|
||||
@JsonProperty
|
||||
public Long executionId;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,143 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class OrderRegisterNewRequest {
|
||||
|
||||
@JsonProperty
|
||||
private String creditLegAccount;
|
||||
|
||||
@JsonProperty
|
||||
private BigDecimal creditLegAmount;
|
||||
|
||||
@JsonProperty
|
||||
private String creditLegCurrencyCode;
|
||||
|
||||
@JsonProperty
|
||||
private Long creditLegDirection;
|
||||
|
||||
@JsonProperty
|
||||
private String debitLegAccount;
|
||||
|
||||
@JsonProperty
|
||||
private String sender;
|
||||
|
||||
@JsonProperty
|
||||
private String addressee;
|
||||
|
||||
@JsonProperty
|
||||
private String documentNumber;
|
||||
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
|
||||
@JsonProperty
|
||||
private Instant createdAt;
|
||||
|
||||
@JsonProperty
|
||||
private Instant updatedAt;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public String getCreditLegAccount() {
|
||||
return creditLegAccount;
|
||||
}
|
||||
|
||||
public void setCreditLegAccount(String creditLegAccount) {
|
||||
this.creditLegAccount = creditLegAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getCreditLegAmount() {
|
||||
return creditLegAmount;
|
||||
}
|
||||
|
||||
public void setCreditLegAmount(BigDecimal creditLegAmount) {
|
||||
this.creditLegAmount = creditLegAmount;
|
||||
}
|
||||
|
||||
public String getCreditLegCurrencyCode() {
|
||||
return creditLegCurrencyCode;
|
||||
}
|
||||
|
||||
public void setCreditLegCurrencyCode(String creditLegCurrencyCode) {
|
||||
this.creditLegCurrencyCode = creditLegCurrencyCode;
|
||||
}
|
||||
|
||||
public Long getCreditLegDirection() {
|
||||
return creditLegDirection;
|
||||
}
|
||||
|
||||
public void setCreditLegDirection(Long creditLegDirection) {
|
||||
this.creditLegDirection = creditLegDirection;
|
||||
}
|
||||
|
||||
public String getDebitLegAccount() {
|
||||
return debitLegAccount;
|
||||
}
|
||||
|
||||
public void setDebitLegAccount(String debitLegAccount) {
|
||||
this.debitLegAccount = debitLegAccount;
|
||||
}
|
||||
|
||||
public String getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public void setSender(String sender) {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
public String getAddressee() {
|
||||
return addressee;
|
||||
}
|
||||
|
||||
public void setAddressee(String addressee) {
|
||||
this.addressee = addressee;
|
||||
}
|
||||
|
||||
public String getDocumentNumber() {
|
||||
return documentNumber;
|
||||
}
|
||||
|
||||
public void setDocumentNumber(String documentNumber) {
|
||||
this.documentNumber = documentNumber;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,219 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class UncoveredDealRegisterNewRequest {
|
||||
|
||||
@JsonProperty
|
||||
private Long executionId;
|
||||
|
||||
@JsonProperty
|
||||
private String companyFullName;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate tradingDate;
|
||||
|
||||
@JsonProperty
|
||||
private Long exchangeExecutionId;
|
||||
|
||||
@JsonProperty
|
||||
private Instant exchangeExecutionTime;
|
||||
|
||||
@JsonProperty
|
||||
private String securitySymbol;
|
||||
|
||||
@JsonProperty
|
||||
private String securityFullName;
|
||||
|
||||
@JsonProperty
|
||||
private String sellerFullName;
|
||||
|
||||
@JsonProperty
|
||||
private String sellerClearingCode;
|
||||
|
||||
@JsonProperty
|
||||
private String sellerAccount;
|
||||
|
||||
@JsonProperty
|
||||
private String buyerFullName;
|
||||
|
||||
@JsonProperty
|
||||
private String buyerClearingCode;
|
||||
|
||||
@JsonProperty
|
||||
private String buyerAccount;
|
||||
|
||||
@JsonProperty
|
||||
private BigDecimal amount;
|
||||
|
||||
@JsonProperty
|
||||
private String resultStatus;
|
||||
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
|
||||
@JsonProperty
|
||||
private Instant createdAt;
|
||||
|
||||
@JsonProperty
|
||||
private Instant updatedAt;
|
||||
|
||||
@JsonProperty
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSellerFullName() {
|
||||
return sellerFullName;
|
||||
}
|
||||
|
||||
public void setSellerFullName(String sellerFullName) {
|
||||
this.sellerFullName = sellerFullName;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
}
|
||||
|
||||
public String getSellerAccount() {
|
||||
return sellerAccount;
|
||||
}
|
||||
|
||||
public void setSellerAccount(String sellerAccount) {
|
||||
this.sellerAccount = sellerAccount;
|
||||
}
|
||||
|
||||
public String getBuyerFullName() {
|
||||
return buyerFullName;
|
||||
}
|
||||
|
||||
public void setBuyerFullName(String buyerFullName) {
|
||||
this.buyerFullName = buyerFullName;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
}
|
||||
|
||||
public String getBuyerAccount() {
|
||||
return buyerAccount;
|
||||
}
|
||||
|
||||
public void setBuyerAccount(String buyerAccount) {
|
||||
this.buyerAccount = buyerAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public String getResultStatus() {
|
||||
return resultStatus;
|
||||
}
|
||||
|
||||
public void setResultStatus(String resultStatus) {
|
||||
this.resultStatus = resultStatus;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue