From b38c7c1959604a7a693260c31a491075d90cc552 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 23 May 2025 13:37:26 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-826 --- .../settings/ValidationSymbolsController.java | 93 ++++ .../settings/ValidationSymbolsNewAction.java | 58 ++ .../ValidationSymbolsUpdateAction.java | 70 +++ .../src/main/resources/meta/meta.json | 494 +++++++++++++++++- .../src/main/resources/meta/meta.xml | 109 +++- .../ValidationSymbolsDeleteRequest.java | 16 + .../settings/ValidationSymbolsNewRequest.java | 37 ++ .../ValidationSymbolsUpdateRequest.java | 46 ++ 8 files changed, 921 insertions(+), 2 deletions(-) create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/settings/ValidationSymbolsController.java create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsNewAction.java create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsUpdateAction.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsDeleteRequest.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsNewRequest.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsUpdateRequest.java diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/settings/ValidationSymbolsController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/settings/ValidationSymbolsController.java new file mode 100644 index 000000000..e106b17c4 --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/settings/ValidationSymbolsController.java @@ -0,0 +1,93 @@ +package ru.spcex.clearing.backendapi.controller.queue.settings; + +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; +import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +import ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsUpdateAction; +import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; +import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; +import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.service.IOperator; +import ru.spcex.clearing.backendapi.service.IStateLoader; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Controller +@RequestMapping("settings/validation-symbols") +public class ValidationSymbolsController extends AbstractQueueController { + private final IStateLoader stateLoader; + + public ValidationSymbolsController(IOperator operator, IStateLoader stateLoader) { + super(operator); + this.stateLoader = stateLoader; + } + + @ApiOperation(value = "create validation symbol.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public CudResponse add( + @ApiParam(value = "Параметры команды в JSON формате.", required = true) + @RequestBody ValidationSymbolsNewAction validationSymbolsNewAction) throws ExecutionException, InterruptedException { + CudResponse responseToClient = new CudResponse(); + responseToClient.setCode(0); + responseToClient.setMessage("success"); + return responseToClient; + } + + @ApiOperation(value = "update validation symbol.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public CudResponse update( + @ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234") + @PathVariable("id") Long id, + @ApiParam(value = "Новые значения полей объекта.", required = true) + @RequestBody ValidationSymbolsUpdateAction validationSymbolsUpdateAction) throws ExecutionException, InterruptedException { + validationSymbolsUpdateAction.setId(id); + CudResponse responseToClient = new CudResponse(); + responseToClient.setCode(0); + responseToClient.setMessage("success"); + return responseToClient; + } + + @ApiOperation(value = "delete validation symbol.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) + @ResponseBody + public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234") + @PathVariable("id") Long id) throws ExecutionException, InterruptedException { + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(id); + CudResponse responseToClient = new CudResponse(); + responseToClient.setCode(0); + responseToClient.setMessage("success"); + return responseToClient; + } + + @ApiOperation(value = "get all validation symbols.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public CommonGetAllResponse getAll() { + Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ValidationSymbols, + MoneyMarketSecurity.class); + CommonGetAllResponse response = new CommonGetAllResponse(); + response.fromEntity(all); + return response; + } +} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsNewAction.java new file mode 100644 index 000000000..2a967181e --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsNewAction.java @@ -0,0 +1,58 @@ +package ru.spcex.clearing.backendapi.controller.request.cud.settings; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.backendapi.domain.actions.IAction; +import ru.spcex.clearing.platform.messaging.domain.ActionType; +import ru.spcex.clearing.platform.messaging.domain.cud.settings.ValidationSymbolsNewRequest; + +public class ValidationSymbolsNewAction implements IAction { + + @ApiModelProperty(value = "Код группы символов", example = "CDE") + @JsonProperty + private String code; + @ApiModelProperty(value = "Допустимые символы", example = "CDE") + @JsonProperty + private String symbols; + @ApiModelProperty(value = "Описание группы символов", example = "CDE") + @JsonProperty + private String comment; + + @Override + public ValidationSymbolsNewRequest toRequest() { + ValidationSymbolsNewRequest validationSymbolsNewRequest = new ValidationSymbolsNewRequest(); + validationSymbolsNewRequest.setCode(this.code); + validationSymbolsNewRequest.setSymbols(this.symbols); + validationSymbolsNewRequest.setComment(this.comment); + return validationSymbolsNewRequest; + } + + @Override + public ActionType getActionType() { + return ActionType.NEW; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getSymbols() { + return symbols; + } + + public void setSymbols(String symbols) { + this.symbols = symbols; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsUpdateAction.java new file mode 100644 index 000000000..a1d6db554 --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/settings/ValidationSymbolsUpdateAction.java @@ -0,0 +1,70 @@ +package ru.spcex.clearing.backendapi.controller.request.cud.settings; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.backendapi.domain.actions.IAction; +import ru.spcex.clearing.platform.messaging.domain.ActionType; +import ru.spcex.clearing.platform.messaging.domain.cud.settings.ValidationSymbolsUpdateRequest; + +public class ValidationSymbolsUpdateAction implements IAction { + + @ApiModelProperty(hidden = true) + @JsonProperty + public Long id; + @ApiModelProperty(value = "Код группы символов", example = "CDE") + @JsonProperty + private String code; + @ApiModelProperty(value = "Допустимые символы", example = "CDE") + @JsonProperty + private String symbols; + @ApiModelProperty(value = "Описание группы символов", example = "CDE") + @JsonProperty + private String comment; + + @Override + public ValidationSymbolsUpdateRequest toRequest() { + ValidationSymbolsUpdateRequest validationSymbolsUpdateRequest = new ValidationSymbolsUpdateRequest(); + validationSymbolsUpdateRequest.setId(this.id); + validationSymbolsUpdateRequest.setCode(this.code); + validationSymbolsUpdateRequest.setSymbols(this.symbols); + validationSymbolsUpdateRequest.setComment(this.comment); + return validationSymbolsUpdateRequest; + } + + @Override + public ActionType getActionType() { + return ActionType.UPDATE; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getSymbols() { + return symbols; + } + + public void setSymbols(String symbols) { + this.symbols = symbols; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.json b/clearing-parent/backend-api/src/main/resources/meta/meta.json index 35e336e91..5dbc1c729 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.json +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.json @@ -1,6 +1,6 @@ { - "version": "3.17.223.125", + "version": "3.17.223.126", "enums": { @@ -1512,6 +1512,52 @@ } ] } + , + "nominalTypeCode": { + + "name": "Справочник типов номинала УЦП", + + "class": "ru.clearing.platform.dictionary.NominalTypeCodeDictionary", + + "table": "nominal_type_code_dictionary", + + "fields": [ + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] + } + , + "unitMeasurement": { + + "name": "Справочник единиц измерения", + + "class": "ru.clearing.platform.dictionary.UnitMeasurementDictionary", + + "table": "unit_measurement_dictionary", + + "fields": [ + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] + } } @@ -10795,6 +10841,452 @@ } ] } +, + "validationSymbols": { + + "name": "Допустимые символы", + + "destination": "settings/validation-symbols", + + "class": "ru.clearing.classes.statics.data.misc.ValidationSymbols", + + "table": "validation_symbols", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "code", + "type": 2,"length": 3,"name": "Код группы символов","shortname": "Код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "symbols", + "type": 2,"length": 255,"name": "Допустимые символы","shortname": "Символы","searchable": true,"visible": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Описание группы символов","shortname": "Описание","searchable": true,"sortable": true,"visible": true + } + ] + ,"actions":[ + {"method":"post", + + "name": "Добавление допустимых символов", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsNewAction", + + "fields": [ + {"code": "code", + "type": 2,"length": 3,"name": "Код группы символов","shortname": "Код","required": true + } + , + {"code": "symbols", + "type": 2,"length": 255,"name": "Допустимые символы","shortname": "Символы","required": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание" + } + ] + } + , + {"method":"put", + + "name": "Изменение допустимых символов", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsUpdateAction", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","required": true + } + , + {"code": "code", + "type": 2,"length": 3,"name": "Код группы символов","shortname": "Код","required": true + } + , + {"code": "symbols", + "type": 2,"length": 255,"name": "Допустимые символы","shortname": "Символы","required": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание" + } + ] + } + , + {"method":"delete", + + "name": "Удаление допустимых символов", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","required": true + } + ] + } + ] + } +, + "digitalCertificateSecurity": { + + "name": "Цифровые свидетельства", + + "destination": "securities/digital-certificate-securities", + + "class": "...", + + "logUpdates": "true", + + "table": "digital_certificate_security", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "instrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" + } + , + {"code": "issuerId", + "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName","extends": "security" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + , + {"code": "baseCode", + "type": 2,"length": 50,"name": "Код ЦС, присвоенный депозитарием","shortname": "Код ЦС","searchable": true,"sortable": true,"visible": false + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": false,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing" + } + , + {"code": "baseUnitSize", + "type": 3,"name": "Количество УЦП в одном ЦС","shortname": "Количество УЦП в одном ЦС","searchable": true,"sortable": true,"visible": false + } + , + {"code": "priceVarianceLimit", + "type": 10,"name": "Пределы изменения цены","shortname": "Изменение цены","searchable": true,"sortable": true,"visible": false + } + , + {"code": "nominalTypeCode", + "type": 12,"name": "Тип индексации номинала","shortname": "Индексация номинала","searchable": true,"sortable": true,"link": "nominalTypeCode","visible": false + } + , + {"code": "nominalValue", + "type": 10,"name": "Индексируемый номинал","shortname": "Номинал","searchable": true,"sortable": true,"visible": false + } + , + {"code": "nominalIndexationDate", + "type": 6,"name": "Дата индексации номинала","shortname": "Дата индексации","searchable": true,"sortable": true,"visible": false + } + , + {"code": "nominalIndexationSign", + "type": 12,"name": "Фактическая индексация","shortname": "Индексация","searchable": true,"sortable": true,"link": "allowed","visible": false + } + , + {"code": "settlementHouse", + "type": 2,"length": 255,"name": "Наименование расчетной организации","shortname": "Расчетная организация","searchable": true,"sortable": true,"visible": false + } + , + {"code": "depository", + "type": 2,"length": 255,"name": "Наименование депозитария","shortname": "Депозитарий","searchable": true,"sortable": true,"visible": false + } + ] + ,"actions":[ + {"method":"post", + + "name": "Добавление цифрового свидетельства", + + "confirmation": "securitySymbol,shortName,fullName,nominalValue", + + "class": "...", + + "fields": [ + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "baseCode", + "type": 2,"length": 50,"name": "Код ЦС, присвоенный депозитарием","shortname": "Код ЦС","required": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName","required": true + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","required": true + } + , + {"code": "baseUnitSize", + "type": 3,"name": "Количество УЦП в одном ЦС","shortname": "Количество УЦП в одном ЦС","required": true + } + , + {"code": "priceVarianceLimit", + "type": 10,"name": "Пределы изменения цены","shortname": "Изменение цены","required": true + } + , + {"code": "nominalTypeCode", + "type": 2,"length": 1,"name": "Тип индексации номинала","shortname": "Индексация номинала","link": "nominalTypeCode","required": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Индексируемый номинал","shortname": "Номинал","required": true + } + , + {"code": "nominalIndexationDate", + "type": 6,"name": "Дата индексации номинала","shortname": "Дата индексации","required": true + } + , + {"code": "nominalIndexationSign", + "type": 12,"name": "Фактическая индексация","shortname": "Фактическая индексация","link": "allowed" + } + , + {"code": "settlementHouse", + "type": 2,"length": 255,"name": "Наименование расчетной организации","shortname": "Расчетная организация" + } + , + {"code": "depository", + "type": 2,"length": 255,"name": "Наименование депозитария","shortname": "Депозитарий" + } + ] + } + , + {"method":"put", + + "name": "Изменение цифрового свидетельства", + + "confirmation": "securitySymbol,shortName,fullName,nominalValue", + + "class": "...", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "digitalCertificateSecurity","linkCode": "id","required": true + } + , + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "baseCode", + "type": 2,"length": 50,"name": "Код ЦС, присвоенный депозитарием","shortname": "Код ЦС","required": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true,"enabled": false + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","required": true + } + , + {"code": "baseUnitSize", + "type": 3,"name": "Количество УЦП в одном ЦС","shortname": "Количество УЦП в одном ЦС","required": true + } + , + {"code": "priceVarianceLimit", + "type": 10,"name": "Пределы изменения цены","shortname": "Изменение цены","required": true + } + , + {"code": "nominalTypeCode", + "type": 2,"length": 1,"name": "Тип индексации номинала","shortname": "Индексация номинала","link": "nominalTypeCode","required": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Индексируемый номинал","shortname": "Номинал","required": true + } + , + {"code": "nominalIndexationDate", + "type": 6,"name": "Дата индексации номинала","shortname": "Дата индексации","required": true + } + , + {"code": "nominalIndexationSign", + "type": 12,"name": "Фактическая индексация","shortname": "Фактическая индексация","link": "allowed" + } + , + {"code": "settlementHouse", + "type": 2,"length": 255,"name": "Наименование расчетной организации","shortname": "Расчетная организация" + } + , + {"code": "depository", + "type": 2,"length": 255,"name": "Наименование депозитария","shortname": "Депозитарий" + } + ] + } + , + {"method":"delete", + + "name": "Блокировка цифрового свидетельства", + + "confirmation": "securitySymbol,shortName", + + "class": "...", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "digitalCertificateSecurity","linkCode": "id","required": true + } + ] + } + ] + } +, + "utilitarianDigitalRight": { + + "name": "Утилитарные цифровые права", + + "destination": "securities/utilitarian-digital-rights", + + "class": "...", + + "logUpdates": "true", + + "table": "utilitarian_digital_right", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "investmentAttractingCompany", + "type": 2,"length": 255,"name": "Наименование лица, обязанного по УЦП","shortname": "Наименование лица","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "investmentAttractingInn", + "type": 2,"length": 255,"name": "ИНН лица, обязанного по УЦП","shortname": "ИНН лица","searchable": true,"sortable": true + } + , + {"code": "issueAmount", + "type": 11,"name": "Общий объем выпуска","shortname": "Объем выпуска","searchable": true,"sortable": true + } + , + {"code": "issuePrice", + "type": 10,"name": "Цена УЦП в инвестиционном предложении","shortname": "Цена УЦП","searchable": true,"sortable": true + } + , + {"code": "issueSize", + "type": 3,"name": "Общее количество УЦП в выпуске","shortname": "Количество УЦП в выпуске","searchable": true,"sortable": true + } + , + {"code": "nominalIndexation", + "type": 2,"length": 255,"name": "Порядок определения номинала УЦП в случае предусмотренной индексации","shortname": "Порядок определения номинала в случае индексации","searchable": true,"sortable": true + } + , + {"code": "platformOperator", + "type": 2,"length": 255,"name": "Наименование оператора инвестиционной платформы","shortname": "Наименование оператора","searchable": true,"sortable": true + } + , + {"code": "platformOperatorCode", + "type": 2,"length": 255,"name": "Код УЦП, присвоенный оператором инвестиционной платформы","shortname": "Код УЦП","searchable": true,"sortable": true + } + , + {"code": "platformOperatorInn", + "type": 2,"length": 255,"name": "ИНН оператора инвестиционной платформы","shortname": "ИНН оператора","searchable": true,"sortable": true + } + , + {"code": "platformOperatorWeb", + "type": 2,"length": 255,"name": "Адрес сайта оператора инвестиционной платформы","shortname": "Адрес сайта оператора","searchable": true,"sortable": true + } + , + {"code": "platformProposalWeb", + "type": 2,"length": 255,"name": "Ссылка на описание условий инвестиционного предложения","shortname": "Ссылка на описание условий","searchable": true,"sortable": true + } + , + {"code": "rightEssence", + "type": 2,"length": 255,"name": "Существо права требования","shortname": "Существо права требования","searchable": true,"sortable": true + } + , + {"code": "rightUnit", + "type": 2,"length": 255,"name": "Количество единиц существа права (требования)","shortname": "Количество единиц существа права","searchable": true,"sortable": true + } + , + {"code": "rightUnitMeasurement", + "type": 12,"name": "Единица измерения существа права (требования)","shortname": "Единица измерения","searchable": true,"sortable": true,"link": "unitMeasurement" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + ] + + } } diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 12a19959d..b5cffe62e 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -1,6 +1,6 @@ - + @@ -2513,6 +2513,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsDeleteRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsDeleteRequest.java new file mode 100644 index 000000000..7d0e2d5a8 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsDeleteRequest.java @@ -0,0 +1,16 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.settings; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ValidationSymbolsDeleteRequest { + @JsonProperty + private Long id; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsNewRequest.java new file mode 100644 index 000000000..c607ea978 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsNewRequest.java @@ -0,0 +1,37 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.settings; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ValidationSymbolsNewRequest { + + @JsonProperty + private String code; + @JsonProperty + private String symbols; + @JsonProperty + private String comment; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getSymbols() { + return symbols; + } + + public void setSymbols(String symbols) { + this.symbols = symbols; + } + + 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/settings/ValidationSymbolsUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsUpdateRequest.java new file mode 100644 index 000000000..c38f9f991 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/settings/ValidationSymbolsUpdateRequest.java @@ -0,0 +1,46 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.settings; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ValidationSymbolsUpdateRequest { + @JsonProperty + private Long id; + @JsonProperty + private String code; + @JsonProperty + private String symbols; + @JsonProperty + private String comment; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getSymbols() { + return symbols; + } + + public void setSymbols(String symbols) { + this.symbols = symbols; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +}