backend-api platform-messaging scheduler-service meta add field to Launcher OUTV

This commit is contained in:
AKurakin 2023-08-15 12:12:06 +03:00
parent 6907d648d3
commit 7c0b2d9215
6 changed files with 2467 additions and 2183 deletions

View file

@ -9,6 +9,7 @@ import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
import java.math.BigDecimal;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -35,6 +36,31 @@ public class LauncherNew implements IAction<Object> {
@JsonProperty @JsonProperty
private Long sessionId; private Long sessionId;
@ApiModelProperty(value = "Текущий баланс", example = "12.22")
@JsonProperty
private BigDecimal balance;
@ApiModelProperty(value = "Наименование инструмента/валюты", example = "SPB")
@JsonProperty
private String securitySymbol;
@ApiModelProperty(value = "Сумма отправителя", example = "12.22")
@JsonProperty
private BigDecimal creditLeg_amount;
@ApiModelProperty(value = "Назначение платежа", example = "text")
@JsonProperty
private String paymentPurpose;
@ApiModelProperty(value = "Участник отправитель", example = "1000")
@JsonProperty
private Long senderId;
@ApiModelProperty(value = "Наименование счета отправителя", example = "1000")
@JsonProperty
private Long creditLeg_accountId;
@ApiModelProperty(value = "Участник получатель", example = "1000")
@JsonProperty
private Long addresseeId;
@ApiModelProperty(value = "Наименование счета получателя", example = "1000")
@JsonProperty
private Long debitLeg_accountId;
@Override @Override
public Object toRequest() { public Object toRequest() {
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest(); LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
@ -45,6 +71,14 @@ public class LauncherNew implements IAction<Object> {
taskRunnerCommandRequest.setSection(section); taskRunnerCommandRequest.setSection(section);
taskRunnerCommandRequest.setSessionType(sessionType); taskRunnerCommandRequest.setSessionType(sessionType);
taskRunnerCommandRequest.setSessionId(sessionId); taskRunnerCommandRequest.setSessionId(sessionId);
taskRunnerCommandRequest.setBalance(balance);
taskRunnerCommandRequest.setSecuritySymbol(securitySymbol);
taskRunnerCommandRequest.setCreditLeg_amount(creditLeg_amount);
taskRunnerCommandRequest.setPaymentPurpose(paymentPurpose);
taskRunnerCommandRequest.setSenderId(senderId);
taskRunnerCommandRequest.setCreditLeg_accountId(creditLeg_accountId);
taskRunnerCommandRequest.setAddresseeId(addresseeId);
taskRunnerCommandRequest.setDebitLeg_accountId(debitLeg_accountId);
return taskRunnerCommandRequest; return taskRunnerCommandRequest;
} }
@ -117,4 +151,68 @@ public class LauncherNew implements IAction<Object> {
public void setSessionId(Long sessionId) { public void setSessionId(Long sessionId) {
this.sessionId = sessionId; this.sessionId = sessionId;
} }
public BigDecimal getBalance() {
return balance;
}
public void setBalance(BigDecimal balance) {
this.balance = balance;
}
public String getSecuritySymbol() {
return securitySymbol;
}
public void setSecuritySymbol(String securitySymbol) {
this.securitySymbol = securitySymbol;
}
public BigDecimal getCreditLeg_amount() {
return creditLeg_amount;
}
public void setCreditLeg_amount(BigDecimal creditLeg_amount) {
this.creditLeg_amount = creditLeg_amount;
}
public String getPaymentPurpose() {
return paymentPurpose;
}
public void setPaymentPurpose(String paymentPurpose) {
this.paymentPurpose = paymentPurpose;
}
public Long getSenderId() {
return senderId;
}
public void setSenderId(Long senderId) {
this.senderId = senderId;
}
public Long getCreditLeg_accountId() {
return creditLeg_accountId;
}
public void setCreditLeg_accountId(Long creditLeg_accountId) {
this.creditLeg_accountId = creditLeg_accountId;
}
public Long getAddresseeId() {
return addresseeId;
}
public void setAddresseeId(Long addresseeId) {
this.addresseeId = addresseeId;
}
public Long getDebitLeg_accountId() {
return debitLeg_accountId;
}
public void setDebitLeg_accountId(Long debitLeg_accountId) {
this.debitLeg_accountId = debitLeg_accountId;
}
} }

View file

@ -1,6 +1,6 @@
{ {
"version": "3.5.0.40", "version": "3.5.0.41",
"enums": { "enums": {
@ -2462,7 +2462,7 @@
, ,
"moneyMarketSecurity": { "moneyMarketSecurity": {
"name": "Инструменты Денежного рынка", "name": "Спецификации Денежного рынка",
"destination": "securities/money-securities", "destination": "securities/money-securities",
@ -2552,7 +2552,7 @@
,"actions":[ ,"actions":[
{"method":"post", {"method":"post",
"name": "Добавление инструмента Денежного рынка", "name": "Добавление спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency",
@ -2631,7 +2631,7 @@
, ,
{"method":"put", {"method":"put",
"name": "Изменение инструмента Денежного рынка", "name": "Изменение спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency",
@ -2714,7 +2714,7 @@
, ,
{"method":"delete", {"method":"delete",
"name": "Блокировка инструмента Денежного рынка", "name": "Блокировка спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName", "confirmation": "securitySymbol,shortName",
@ -2731,7 +2731,7 @@
, ,
"tradedMoneyMarketSecurity": { "tradedMoneyMarketSecurity": {
"name": "Инструменты денежного рынка, учавствующие в сделках", "name": "Спецификации денежного рынка, учавствующие в сделках",
"destination": "securities/traded-money-securities", "destination": "securities/traded-money-securities",
@ -3456,7 +3456,7 @@
} }
, ,
{"code": "code", {"code": "code",
"type": 12,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true "type": 2,"length": 10,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true
} }
, ,
{"code": "settlementCurrency", {"code": "settlementCurrency",
@ -4042,6 +4042,25 @@
{"code": "direction", {"code": "direction",
"type": 1,"name": "Направление","shortname": "Направление","link": "inOutDirection" "type": 1,"name": "Направление","shortname": "Направление","link": "inOutDirection"
} }
]
}
,
{"method":"post",
"name": "Отметить средства на возврат депозита",
"destination": "registries/returnDeposit",
"class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ReturnDepositActionNew",
"fields": [
{"code": "id",
"type": 1,"name": "Регистр требований","shortname": "Регистр требований","required": true,"enabled": false,"visible": false
}
,
{"code": "balance",
"type": 10,"name": "Сумма","shortname": "Сумма","required": true
}
] ]
} }
] ]
@ -5108,7 +5127,39 @@
"name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)", "name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)",
"fields": [] "fields": [
{"code": "balance",
"type": 10,"name": "Текущий баланс","shortname": "Текущие средства","enabled": false
}
,
{"code": "securitySymbol",
"type": 2,"name": "Наименование инструмента/валюты","shortname": "Валюта","enabled": false
}
,
{"code": "creditLeg_amount",
"type": 10,"name": "Сумма отправителя","shortname": "Сумма","required": true
}
,
{"code": "paymentPurpose",
"type": 2,"length": 255,"name": "Назначение платежа","shortname": "Основание","required": true
}
,
{"code": "senderId",
"type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true
}
,
{"code": "creditLeg_accountId",
"type": 1,"group": "Отправитель","name": "Наименование счета отправителя","shortname": "Регистр списания","link": "account","linkCode": "account"
}
,
{"code": "addresseeId",
"type": 1,"group": "Получатель","name": "Участник получатель","shortname": "Получатель","link": "company","linkCode": "shortName","required": true
}
,
{"code": "debitLeg_accountId",
"type": 1,"group": "Получатель","name": "Наименование счета получателя","shortname": "Счет получателя","link": "bankAccount","linkCode": "correspondentAccount"
}
]
} }
, ,
{"method":"post", {"method":"post",
@ -5181,11 +5232,7 @@
"name": "Формирование промежуточной отчетности", "name": "Формирование промежуточной отчетности",
"fields": [ "fields": []
{"code": "sessionId",
"type": 1,"name": "Клиринговая сессия","shortname": "Сессия","link": "session"
}
]
} }
, ,
{"method":"post", {"method":"post",
@ -8030,10 +8077,6 @@
{"code": "id", {"code": "id",
"type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false
} }
,
{"code": "acc_name",
"type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true
}
, ,
{"code": "account", {"code": "account",
"type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true

View file

@ -1189,6 +1189,14 @@
<post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (отправка ДФ-51, ДФ-56 для получения ответа ДФ-01, ДФ-57)"> <post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (отправка ДФ-51, ДФ-56 для получения ответа ДФ-01, ДФ-57)">
</post> </post>
<post destination="OUTV" group="Обмен с расчетной организацией" name="Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)"> <post destination="OUTV" group="Обмен с расчетной организацией" name="Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)">
<balance type="10" name="Текущий баланс" shortname="Текущие средства" enabled="false"/>
<securitySymbol type="2" name="Наименование инструмента/валюты" shortname="Валюта" enabled="false"/>
<creditLeg_amount type="10" name="Сумма отправителя" shortname="Сумма" required="true"/>
<paymentPurpose type="2" length="255" name="Назначение платежа" shortname="Основание" required="true"/>
<senderId type="1" group="Отправитель" name="Участник отправитель" shortname="Отправитель" link="company" linkCode="shortName" required="true"/>
<creditLeg_accountId type="1" group="Отправитель" name="Наименование счета отправителя" shortname="Регистр списания" link="account" linkCode="account"/>
<addresseeId type="1" group="Получатель" name="Участник получатель" shortname="Получатель" link="company" linkCode="shortName" required="true"/>
<debitLeg_accountId type="1" group="Получатель" name="Наименование счета получателя" shortname="Счет получателя" link="bankAccount" linkCode="correspondentAccount"/>
</post> </post>
<post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы"> <post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы">
</post> </post>

View file

@ -1,6 +1,6 @@
{ {
"version": "3.5.0.40", "version": "3.5.0.41",
"enums": { "enums": {
@ -2462,7 +2462,7 @@
, ,
"moneyMarketSecurity": { "moneyMarketSecurity": {
"name": "Инструменты Денежного рынка", "name": "Спецификации Денежного рынка",
"destination": "securities/money-securities", "destination": "securities/money-securities",
@ -2552,7 +2552,7 @@
,"actions":[ ,"actions":[
{"method":"post", {"method":"post",
"name": "Добавление инструмента Денежного рынка", "name": "Добавление спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency",
@ -2631,7 +2631,7 @@
, ,
{"method":"put", {"method":"put",
"name": "Изменение инструмента Денежного рынка", "name": "Изменение спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency",
@ -2714,7 +2714,7 @@
, ,
{"method":"delete", {"method":"delete",
"name": "Блокировка инструмента Денежного рынка", "name": "Блокировка спецификации Денежного рынка",
"confirmation": "securitySymbol,shortName", "confirmation": "securitySymbol,shortName",
@ -2731,7 +2731,7 @@
, ,
"tradedMoneyMarketSecurity": { "tradedMoneyMarketSecurity": {
"name": "Инструменты денежного рынка, учавствующие в сделках", "name": "Спецификации денежного рынка, учавствующие в сделках",
"destination": "securities/traded-money-securities", "destination": "securities/traded-money-securities",
@ -3456,7 +3456,7 @@
} }
, ,
{"code": "code", {"code": "code",
"type": 12,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true "type": 2,"length": 10,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true
} }
, ,
{"code": "settlementCurrency", {"code": "settlementCurrency",
@ -4042,6 +4042,25 @@
{"code": "direction", {"code": "direction",
"type": 1,"name": "Направление","shortname": "Направление","link": "inOutDirection" "type": 1,"name": "Направление","shortname": "Направление","link": "inOutDirection"
} }
]
}
,
{"method":"post",
"name": "Отметить средства на возврат депозита",
"destination": "registries/returnDeposit",
"class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ReturnDepositActionNew",
"fields": [
{"code": "id",
"type": 1,"name": "Регистр требований","shortname": "Регистр требований","required": true,"enabled": false,"visible": false
}
,
{"code": "balance",
"type": 10,"name": "Сумма","shortname": "Сумма","required": true
}
] ]
} }
] ]
@ -5108,7 +5127,39 @@
"name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)", "name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)",
"fields": [] "fields": [
{"code": "balance",
"type": 10,"name": "Текущий баланс","shortname": "Текущие средства","enabled": false
}
,
{"code": "securitySymbol",
"type": 2,"name": "Наименование инструмента/валюты","shortname": "Валюта","enabled": false
}
,
{"code": "creditLeg_amount",
"type": 10,"name": "Сумма отправителя","shortname": "Сумма","required": true
}
,
{"code": "paymentPurpose",
"type": 2,"length": 255,"name": "Назначение платежа","shortname": "Основание","required": true
}
,
{"code": "senderId",
"type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true
}
,
{"code": "creditLeg_accountId",
"type": 1,"group": "Отправитель","name": "Наименование счета отправителя","shortname": "Регистр списания","link": "account","linkCode": "account"
}
,
{"code": "addresseeId",
"type": 1,"group": "Получатель","name": "Участник получатель","shortname": "Получатель","link": "company","linkCode": "shortName","required": true
}
,
{"code": "debitLeg_accountId",
"type": 1,"group": "Получатель","name": "Наименование счета получателя","shortname": "Счет получателя","link": "bankAccount","linkCode": "correspondentAccount"
}
]
} }
, ,
{"method":"post", {"method":"post",
@ -5181,11 +5232,7 @@
"name": "Формирование промежуточной отчетности", "name": "Формирование промежуточной отчетности",
"fields": [ "fields": []
{"code": "sessionId",
"type": 1,"name": "Клиринговая сессия","shortname": "Сессия","link": "session"
}
]
} }
, ,
{"method":"post", {"method":"post",
@ -8030,10 +8077,6 @@
{"code": "id", {"code": "id",
"type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false
} }
,
{"code": "acc_name",
"type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true
}
, ,
{"code": "account", {"code": "account",
"type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true

View file

@ -19,6 +19,8 @@ import ru.spcex.clearing.test.MatcherFactory;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@ -70,6 +72,14 @@ class LauncherServiceTest extends AbstractServiceTest {
launcherCommandRequest.setSection("SECT"); launcherCommandRequest.setSection("SECT");
launcherCommandRequest.setSessionType("STYPE"); launcherCommandRequest.setSessionType("STYPE");
launcherCommandRequest.setSessionId(111111L); launcherCommandRequest.setSessionId(111111L);
launcherCommandRequest.setBalance(BigDecimal.valueOf(12.55));
launcherCommandRequest.setSecuritySymbol("SPB");
launcherCommandRequest.setCreditLeg_amount(BigDecimal.valueOf(77.888));
launcherCommandRequest.setPaymentPurpose("TEST-P");
launcherCommandRequest.setSenderId(122L);
launcherCommandRequest.setCreditLeg_accountId(123L);
launcherCommandRequest.setAddresseeId(144L);
launcherCommandRequest.setDebitLeg_accountId(145L);
BaseRequest<Object> predictableBaseRequest = new BaseRequest<>(); BaseRequest<Object> predictableBaseRequest = new BaseRequest<>();
predictableBaseRequest.setRequestPayload(launcherCommandRequest); predictableBaseRequest.setRequestPayload(launcherCommandRequest);

View file

@ -2,6 +2,8 @@ package ru.spcex.clearing.platform.messaging.domain.cud.schedule;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
public class LauncherCommandRequest { public class LauncherCommandRequest {
@JsonProperty @JsonProperty
@ -19,6 +21,22 @@ public class LauncherCommandRequest {
@JsonProperty @JsonProperty
private Long sessionId; private Long sessionId;
@JsonProperty
private BigDecimal balance;
@JsonProperty
private String securitySymbol;
@JsonProperty
private BigDecimal creditLeg_amount;
@JsonProperty
private String paymentPurpose;
@JsonProperty
private Long senderId;
@JsonProperty
private Long creditLeg_accountId;
@JsonProperty
private Long addresseeId;
@JsonProperty
private Long debitLeg_accountId;
public Long getUserId() { public Long getUserId() {
return userId; return userId;
@ -75,4 +93,68 @@ public class LauncherCommandRequest {
public void setSessionType(String sessionType) { public void setSessionType(String sessionType) {
this.sessionType = sessionType; this.sessionType = sessionType;
} }
public BigDecimal getBalance() {
return balance;
}
public void setBalance(BigDecimal balance) {
this.balance = balance;
}
public String getSecuritySymbol() {
return securitySymbol;
}
public void setSecuritySymbol(String securitySymbol) {
this.securitySymbol = securitySymbol;
}
public BigDecimal getCreditLeg_amount() {
return creditLeg_amount;
}
public void setCreditLeg_amount(BigDecimal creditLeg_amount) {
this.creditLeg_amount = creditLeg_amount;
}
public String getPaymentPurpose() {
return paymentPurpose;
}
public void setPaymentPurpose(String paymentPurpose) {
this.paymentPurpose = paymentPurpose;
}
public Long getSenderId() {
return senderId;
}
public void setSenderId(Long senderId) {
this.senderId = senderId;
}
public Long getCreditLeg_accountId() {
return creditLeg_accountId;
}
public void setCreditLeg_accountId(Long creditLeg_accountId) {
this.creditLeg_accountId = creditLeg_accountId;
}
public Long getAddresseeId() {
return addresseeId;
}
public void setAddresseeId(Long addresseeId) {
this.addresseeId = addresseeId;
}
public Long getDebitLeg_accountId() {
return debitLeg_accountId;
}
public void setDebitLeg_accountId(Long debitLeg_accountId) {
this.debitLeg_accountId = debitLeg_accountId;
}
} }