) 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);
+ }
+}
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java
index 758bebfbb..a7643a8ba 100644
--- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java
@@ -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;
}
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrade.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrade.java
new file mode 100644
index 000000000..f49c7b224
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrade.java
@@ -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;
+
+/**
+ * Сделки из Торговой системы
+ *
+ * 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;
+ }
+}
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java
new file mode 100644
index 000000000..b87973543
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java
@@ -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;
+ }
+}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/LiabilitiesClaimsAssetsMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/LiabilitiesClaimsAssetsMapStore.java
index c940295bb..c9b1fc27f 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/LiabilitiesClaimsAssetsMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/LiabilitiesClaimsAssetsMapStore.java
@@ -45,16 +45,16 @@ public class LiabilitiesClaimsAssetsMapStore extends TemplateMapStore {
+
+ 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;
+ }
+
+}
diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java
index 0ce9ebe55..d53944c78 100644
--- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java
+++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java
@@ -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")})));
}
}
diff --git a/clearing-parent/imdg/src/test/resources/ddl.sql b/clearing-parent/imdg/src/test/resources/ddl.sql
index 3c8b20210..20af99fb4 100644
--- a/clearing-parent/imdg/src/test/resources/ddl.sql
+++ b/clearing-parent/imdg/src/test/resources/ddl.sql
@@ -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
\ No newline at end of file
diff --git a/clearing-parent/registry-service/pom.xml b/clearing-parent/registry-service/pom.xml
index 9f685381f..28501d997 100644
--- a/clearing-parent/registry-service/pom.xml
+++ b/clearing-parent/registry-service/pom.xml
@@ -15,16 +15,12 @@
17
17
-
+
ru.spcex.platform
platform-messaging
-
- ru.spcex.platform
- platform-enum
-
ru.spcex.platform
platform-imdg-api-hazelcast-impl
@@ -37,6 +33,15 @@
org.springframework.boot
spring-boot-starter
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/config/settings/RegistryServiceSettings.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/config/settings/RegistryServiceSettings.java
index a69f2cea0..797c0c13b 100644
--- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/config/settings/RegistryServiceSettings.java
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/config/settings/RegistryServiceSettings.java
@@ -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;
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterService.java
new file mode 100644
index 000000000..61f5417e0
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterService.java
@@ -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 admittedDealRegisterMap;
+
+ @Autowired
+ public AdmittedDealRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java
new file mode 100644
index 000000000..21c639fe6
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java
@@ -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 balanceRegisterMap;
+
+ @Autowired
+ public BalanceRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java
new file mode 100644
index 000000000..40bd281ef
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java
@@ -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 clearMemberRegisterChangeMap;
+
+ @Autowired
+ public ClearMemberRegisterChangeService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java
new file mode 100644
index 000000000..aeaab9ced
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java
@@ -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 clearMemberRegisterMap;
+
+ @Autowired
+ public ClearMemberRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java
new file mode 100644
index 000000000..7b52e2ccb
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java
@@ -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 contractRegisterMap;
+
+ @Autowired
+ public ContractRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java
new file mode 100644
index 000000000..af076b9dc
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java
@@ -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 orderRegisterMap;
+
+ @Autowired
+ public OrderRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java
new file mode 100644
index 000000000..f9b0d6580
--- /dev/null
+++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java
@@ -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 uncoveredDealRegisterMap;
+
+ @Autowired
+ public UncoveredDealRegisterService(Consumer kafkaQueue, Producer 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 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());
+ }
+}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java
index 659a9a131..260a368d0 100644
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java
+++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java
@@ -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());
diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
index ed239339f..149c793b2 100644
--- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
+++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
@@ -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";
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java
index bf892523c..b4132fa0a 100644
--- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java
@@ -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";
+
}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java
new file mode 100644
index 000000000..f1b83a027
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java
new file mode 100644
index 000000000..1b8db037c
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java
new file mode 100644
index 000000000..d3ccd715f
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java
new file mode 100644
index 000000000..21656ecab
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java
new file mode 100644
index 000000000..579b37e19
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/CoveredDealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/CoveredDealRegisterNewRequest.java
index da788225d..a1d8ae2a4 100644
--- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/CoveredDealRegisterNewRequest.java
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/CoveredDealRegisterNewRequest.java
@@ -9,7 +9,6 @@ import java.time.LocalDate;
public class CoveredDealRegisterNewRequest {
-
@JsonProperty
public Long executionId;
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java
new file mode 100644
index 000000000..9d1022cc9
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java
@@ -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;
+ }
+}
diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java
new file mode 100644
index 000000000..656ae8748
--- /dev/null
+++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java
@@ -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;
+ }
+}