etreschenkov 2025-05-23 13:37:26 +03:00
parent fb57a4df1b
commit b38c7c1959
8 changed files with 921 additions and 2 deletions

View file

@ -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<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ValidationSymbols,
MoneyMarketSecurity.class);
CommonGetAllResponse response = new CommonGetAllResponse();
response.fromEntity(all);
return response;
}
}

View file

@ -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<ValidationSymbolsNewRequest> {
@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;
}
}

View file

@ -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<ValidationSymbolsUpdateRequest> {
@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;
}
}

View file

@ -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
}
]
}
}

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
<meta version="3.17.223.125">
<meta version="3.17.223.126">
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари-->
<enums>
@ -2513,6 +2513,113 @@
</put>
</actions>
</rates>
<validationSymbols name="Допустимые символы" destination="settings/validation-symbols" class="ru.clearing.classes.statics.data.misc.ValidationSymbols" table="validation_symbols">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<code type="2" length="3" name="Код группы символов" shortname="Код" searchable="true" sortable="true" visible="true"/>
<symbols type="2" length="255" name="Допустимые символы" shortname="Символы" searchable="true" visible="true"/>
<comment type="2" length="255" name="Описание группы символов" shortname="Описание" searchable="true" sortable="true" visible="true"/>
<actions>
<post name="Добавление допустимых символов" class="ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsNewAction">
<code type="2" length="3" name="Код группы символов" shortname="Код" required="true"/>
<symbols type="2" length="255" name="Допустимые символы" shortname="Символы" required="true"/>
<comment type="2" length="255" name="Описание" shortname="Описание"/>
</post>
<put name="Изменение допустимых символов" class="ru.spcex.clearing.backendapi.controller.request.cud.settings.ValidationSymbolsUpdateAction">
<id type="1" name="Идентификатор" shortname="ID" required="true"/>
<code type="2" length="3" name="Код группы символов" shortname="Код" required="true"/>
<symbols type="2" length="255" name="Допустимые символы" shortname="Символы" required="true"/>
<comment type="2" length="255" name="Описание" shortname="Описание"/>
</put>
<delete name="Удаление допустимых символов" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction">
<id type="1" name="Идентификатор" shortname="ID" required="true"/>
</delete>
</actions>
</validationSymbols>
<digitalCertificateSecurity name="Цифровые свидетельства" destination="securities/digital-certificate-securities" class="..." logUpdates="true" table="digital_certificate_security">
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование" searchable="true" sortable="true" visible="true" extends="security"/>
<isin type="2" length="50" name="Наименование инструмента ISIN" shortname="ISIN" searchable="true" sortable="true" visible="true" extends="security"/>
<instrumentType type="12" dbname="Код типа инструмента" name="Наименование типа инструмента" shortname="Тип инструмента" searchable="true" sortable="true" visible="true" link="instrumentType" extends="security"/>
<issuerId type="1" dbname="Идентификатор эмитента" name="Наименование эмитента" shortname="Эмитент" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName" extends="security"/>
<shortNameEng type="2" length="255" name="Краткое наименование инструмента на английском" shortname="Краткое наименование на английском" searchable="true" sortable="true" visible="true" extends="security"/>
<fullNameEng type="2" length="255" name="Полное наименование инструмента на английском" shortname="Наименование на английском" searchable="true" sortable="true" visible="true" extends="security"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="workflowStatus" extends="security"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
<baseCode type="2" length="50" name="Код ЦС, присвоенный депозитарием" shortname="Код ЦС" searchable="true" sortable="true" visible="false"/>
<lotSize field="securityId" type="11" name="Размер лота" shortname="Лот" searchable="true" sortable="true" visible="false" linkKeyCode="securityId" linkCode="lotSize" link="listing" extends="listing"/>
<baseUnitSize type="3" name="Количество УЦП в одном ЦС" shortname="Количество УЦП в одном ЦС" searchable="true" sortable="true" visible="false"/>
<priceVarianceLimit type="10" name="Пределы изменения цены" shortname="Изменение цены" searchable="true" sortable="true" visible="false"/>
<nominalTypeCode type="12" name="Тип индексации номинала" shortname="Индексация номинала" searchable="true" sortable="true" link="nominalTypeCode" visible="false"/>
<nominalValue type="10" name="Индексируемый номинал" shortname="Номинал" searchable="true" sortable="true" visible="false"/>
<nominalIndexationDate type="6" name="Дата индексации номинала" shortname="Дата индексации" searchable="true" sortable="true" visible="false"/>
<nominalIndexationSign type="12" name="Фактическая индексация" shortname="Индексация" searchable="true" sortable="true" link="allowed" visible="false"/>
<settlementHouse type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация" searchable="true" sortable="true" visible="false"/>
<depository type="2" length="255" name="Наименование депозитария" shortname="Депозитарий" searchable="true" sortable="true" visible="false"/>
<actions>
<post name="Добавление цифрового свидетельства" confirmation="securitySymbol,shortName,fullName,nominalValue" class="...">
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType" required="true" enabled="false"/>
<baseCode type="2" length="50" name="Код ЦС, присвоенный депозитарием" shortname="Код ЦС" required="true"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" required="true"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" required="true"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование"/>
<issuerId type="1" name="Наименование эмитента" shortname="Эмитент" link="company" linkCode="shortName" required="true"/>
<shortNameEng type="2" length="255" name="Краткое наименование инструмента на английском" shortname="Краткое наименование на английском"/>
<fullNameEng type="2" length="255" name="Полное наименование инструмента на английском" shortname="Наименование на английском"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" required="true"/>
<baseUnitSize type="3" name="Количество УЦП в одном ЦС" shortname="Количество УЦП в одном ЦС" required="true"/>
<priceVarianceLimit type="10" name="Пределы изменения цены" shortname="Изменение цены" required="true"/>
<nominalTypeCode type="2" length="1" name="Тип индексации номинала" shortname="Индексация номинала" link="nominalTypeCode" required="true"/>
<nominalValue type="10" name="Индексируемый номинал" shortname="Номинал" required="true"/>
<nominalIndexationDate type="6" name="Дата индексации номинала" shortname="Дата индексации" required="true"/>
<nominalIndexationSign type="12" name="Фактическая индексация" shortname="Фактическая индексация" link="allowed"/>
<settlementHouse type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация"/>
<depository type="2" length="255" name="Наименование депозитария" shortname="Депозитарий"/>
</post>
<put name="Изменение цифрового свидетельства" confirmation="securitySymbol,shortName,fullName,nominalValue" class="...">
<id type="1" name="Идентификатор записи" shortname="ID" link="digitalCertificateSecurity" linkCode="id" required="true"/>
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType" required="true" enabled="false"/>
<baseCode type="2" length="50" name="Код ЦС, присвоенный депозитарием" shortname="Код ЦС" required="true"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" required="true" enabled="false"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" required="true"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование"/>
<issuerId type="1" name="Наименование эмитента" shortname="Эмитент" link="company" linkCode="shortName"/>
<shortNameEng type="2" length="255" name="Краткое наименование инструмента на английском" shortname="Краткое наименование на английском"/>
<fullNameEng type="2" length="255" name="Полное наименование инструмента на английском" shortname="Наименование на английском"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" required="true"/>
<baseUnitSize type="3" name="Количество УЦП в одном ЦС" shortname="Количество УЦП в одном ЦС" required="true"/>
<priceVarianceLimit type="10" name="Пределы изменения цены" shortname="Изменение цены" required="true"/>
<nominalTypeCode type="2" length="1" name="Тип индексации номинала" shortname="Индексация номинала" link="nominalTypeCode" required="true"/>
<nominalValue type="10" name="Индексируемый номинал" shortname="Номинал" required="true"/>
<nominalIndexationDate type="6" name="Дата индексации номинала" shortname="Дата индексации" required="true"/>
<nominalIndexationSign type="12" name="Фактическая индексация" shortname="Фактическая индексация" link="allowed"/>
<settlementHouse type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация"/>
<depository type="2" length="255" name="Наименование депозитария" shortname="Депозитарий"/>
</put>
<delete name="Блокировка цифрового свидетельства" confirmation="securitySymbol,shortName" class="...">
<id type="1" name="Идентификатор записи" shortname="ID" link="digitalCertificateSecurity" linkCode="id" required="true"/>
</delete>
</actions>
</digitalCertificateSecurity>
<utilitarianDigitalRight name="Утилитарные цифровые права" destination="securities/utilitarian-digital-rights" class="..." logUpdates="true" table="utilitarian_digital_right">
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<investmentAttractingCompany type="2" length="255" name="Наименование лица, обязанного по УЦП" shortname="Наименование лица" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<investmentAttractingInn type="2" length="255" name="ИНН лица, обязанного по УЦП" shortname="ИНН лица" searchable="true" sortable="true"/>
<issueAmount type="11" name="Общий объем выпуска" shortname="Объем выпуска" searchable="true" sortable="true"/>
<issuePrice type="10" name="Цена УЦП в инвестиционном предложении" shortname="Цена УЦП" searchable="true" sortable="true"/>
<issueSize type="3" name="Общее количество УЦП в выпуске" shortname="Количество УЦП в выпуске" searchable="true" sortable="true"/>
<nominalIndexation type="2" length="255" name="Порядок определения номинала УЦП в случае предусмотренной индексации" shortname="Порядок определения номинала в случае индексации" searchable="true" sortable="true"/>
<platformOperator type="2" length="255" name="Наименование оператора инвестиционной платформы" shortname="Наименование оператора" searchable="true" sortable="true"/>
<platformOperatorCode type="2" length="255" name="Код УЦП, присвоенный оператором инвестиционной платформы" shortname="Код УЦП" searchable="true" sortable="true"/>
<platformOperatorInn type="2" length="255" name="ИНН оператора инвестиционной платформы" shortname="ИНН оператора" searchable="true" sortable="true"/>
<platformOperatorWeb type="2" length="255" name="Адрес сайта оператора инвестиционной платформы" shortname="Адрес сайта оператора" searchable="true" sortable="true"/>
<platformProposalWeb type="2" length="255" name="Ссылка на описание условий инвестиционного предложения" shortname="Ссылка на описание условий" searchable="true" sortable="true"/>
<rightEssence type="2" length="255" name="Существо права требования" shortname="Существо права требования" searchable="true" sortable="true"/>
<rightUnit type="2" length="255" name="Количество единиц существа права (требования)" shortname="Количество единиц существа права" searchable="true" sortable="true"/>
<rightUnitMeasurement type="12" name="Единица измерения существа права (требования)" shortname="Единица измерения" searchable="true" sortable="true" link="unitMeasurement"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
</utilitarianDigitalRight>
</objects>
<views>
<AccountUnion>

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}