This commit is contained in:
AKurakin 2025-05-15 17:38:42 +03:00
parent e7aefa6252
commit f9b7149a74
11 changed files with 5488 additions and 30 deletions

View file

@ -1,26 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<meta version="3.9.0.68">
<enums>
</enums>
<objects>
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
<company id="2" fullName="ЗАО «Петербургский Расчетный Центр»" shortName="ПРЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
<company id="3" fullName="Торговая организация" shortName="ТС" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
<company id="4" fullName="ЗАО «Санкт-Петербургский Расчетно-Депозитарный Центр»" shortName="РДЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
<!--company id="5" fullName="Центральный Банк Российской Федерации" shortName="ЦБ РФ" tradingCode="" clearingCode="" workflowStatus="ACTV"/-->
<companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/>
<companySymbols id="2" companyId="2" companySymbol="BIC" companySymbolValue="044030505"/>
<currency id="643" currencyCode="RUB"/>
<currency id="840" currencyCode="USD"/>
<currency id="978" currencyCode="EUR"/>
<currency id="156" currencyCode="CNY"/>
<security id="643" instrumentType="CRNC" shortName="RUB" fullName="Российский рубль" securitySymbol="RUB" workflowStatus="ACTV"/>
<security id="840" instrumentType="CRNC" shortName="USD" fullName="Доллар США" securitySymbol="USD" workflowStatus="ACTV"/>
<account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/>
<account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
<account id="3" companyId="1" account="700100000AT0" accountType="DTRN" status="ACTV" processingSign="ALWD"/>
</objects>
</meta>
<?xml version="1.0" encoding="UTF-8"?> <meta version="3.9.0.68"> <enums> </enums> <objects> <company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/> <company id="2" fullName="ЗАО «Петербургский Расчетный Центр»" shortName="ПРЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/> <company id="3" fullName="Торговая организация" shortName="ТС" tradingCode="" clearingCode="" workflowStatus="ACTV"/> <company id="4" fullName="ЗАО «Санкт-Петербургский Расчетно-Депозитарный Центр»" shortName="РДЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/> <!--company id="5" fullName="Центральный Банк Российской Федерации" shortName="ЦБ РФ" tradingCode="" clearingCode="" workflowStatus="ACTV"/--> <companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/> <companySymbols id="2" companyId="2" companySymbol="BIC" companySymbolValue="044030505"/> <currency id="643" currencyCode="RUB"/> <currency id="840" currencyCode="USD"/> <currency id="978" currencyCode="EUR"/> <currency id="156" currencyCode="CNY"/> <security id="643" instrumentType="CRNC" shortName="RUB" fullName="Российский рубль" securitySymbol="RUB" workflowStatus="ACTV"/> <security id="840" instrumentType="CRNC" shortName="USD" fullName="Доллар США" securitySymbol="USD" workflowStatus="ACTV"/> <account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/> <account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/> <account id="3" companyId="1" account="700100000AT0" accountType="DTRN" status="ACTV" processingSign="ALWD"/> <validationSymbols id="1" code="RUS" symbols="а-яА-ЯёЁ" comment="Кириллица"/> <validationSymbols id="2" code="LAT" symbols="a-zA-Z" comment="Латиница"/> <validationSymbols id="3" code="DGT" symbols="0-9" comment="Цифры"/> <validationSymbols id="4" code="SPC" symbols="-., ;&quot;%" comment="Специальные символы"/> </objects> </meta>

View file

@ -0,0 +1,36 @@
package ru.clearing.classes.statics.data.misc;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
public class ValidationSymbols extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private String code;
private String symbols;
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

@ -35,3 +35,11 @@ INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SI
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (2, 1, '30414810600000007000', 'ANLT', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (3, 1, '700100000AT0', 'DTRN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (1, 'RUS', 'а-яА-ЯёЁ', 'Кириллица') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (2, 'LAT', 'a-zA-Z', 'Латиница') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (3, 'DGT', '0-9', 'Цифры') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (4, 'SPC', '-., ;"%', 'Специальные символы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;

View file

@ -5340,8 +5340,24 @@ COMMENT ON COLUMN RATES.CREATED_AT IS 'Время создания записи'
COMMENT ON COLUMN RATES.UPDATED_AT IS 'Время изменения записи';
COMMENT ON COLUMN RATES.WORKFLOW_STATUS IS 'Статус';
GRANT ALL PRIVILEGES ON TABLE RATES TO clearing;
DROP TABLE IF EXISTS VALIDATION_SYMBOLS;
CREATE TABLE VALIDATION_SYMBOLS
(
ID BIGINT PRIMARY KEY,
CODE VARCHAR(3),
SYMBOLS VARCHAR(255),
COMMENT VARCHAR(255)
);
COMMENT ON TABLE VALIDATION_SYMBOLS IS 'Допустимые символы';
COMMENT ON COLUMN VALIDATION_SYMBOLS.ID IS 'Идентификатор записи';
COMMENT ON COLUMN VALIDATION_SYMBOLS.CODE IS 'Код группы символов';
COMMENT ON COLUMN VALIDATION_SYMBOLS.SYMBOLS IS 'Допустимые символы';
COMMENT ON COLUMN VALIDATION_SYMBOLS.COMMENT IS 'Описание группы символов';
GRANT ALL PRIVILEGES ON TABLE VALIDATION_SYMBOLS TO clearing;
/* views */
-- Data types
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.17') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.18') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,18 @@
-- DB version: 3.17 -> 3.18
DROP TABLE IF EXISTS VALIDATION_SYMBOLS;
CREATE TABLE VALIDATION_SYMBOLS
(
ID BIGINT PRIMARY KEY,
CODE VARCHAR(3),
SYMBOLS VARCHAR(255),
COMMENT VARCHAR(255)
);
COMMENT ON TABLE VALIDATION_SYMBOLS IS 'Äîïóñòèìûå ñèìâîëû';
COMMENT ON COLUMN VALIDATION_SYMBOLS.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN VALIDATION_SYMBOLS.CODE IS 'Êîä ãðóïïû ñèìâîëîâ';
COMMENT ON COLUMN VALIDATION_SYMBOLS.SYMBOLS IS 'Äîïóñòèìûå ñèìâîëû';
COMMENT ON COLUMN VALIDATION_SYMBOLS.COMMENT IS 'Îïèñàíèå ãðóïïû ñèìâîëîâ';
GRANT ALL PRIVILEGES ON TABLE VALIDATION_SYMBOLS TO clearing;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.18') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -55,7 +55,7 @@ public class NotificationService {
sendToJournal(request);
newRequest.setObjectType(ObjectType.rgst.getKey());
newRequest.setComment(request.getDescription());
newRequest.setComment(request.getDescription()); // todo see this
if (request.getResult() != null && request.getResult()) {
newRequest.setPriority(Priority.LOW.getKey());
} else if (request.getResult() != null && !request.getResult()) {
@ -76,7 +76,7 @@ public class NotificationService {
else
log.info("Receive ErrorResponse: uuid = {}, sending type = {} and section = {}.", response.getId(), request.getType(), request.getSection());
newRequest.setObjectType(ObjectType.rgst.getKey());
newRequest.setComment(response.getMessage());
newRequest.setComment(response.getMessage());//todo see this - no!
newRequest.setPriority(Priority.HIGH.getKey());
log.info("Sending notification to kafka: {}", LogFormatter.toString(newRequest));
kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, newRequest);

View file

@ -0,0 +1,56 @@
package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.misc.ValidationSymbols;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import java.sql.ResultSet;
import java.sql.SQLException;
@Component
public class ValidationSymbolsMapStore extends TemplateMapStore<ValidationSymbols> {
public ValidationSymbolsMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ValidationSymbols;
}
@Override
public String getTableName() {
return "VALIDATION_SYMBOLS";
}
@Override
public String[] getFields() {
return new String[]{
"id", "code", "symbols", "comment"
};
}
@Override
protected ValidationSymbols objectReader(ResultSet resultSet) throws SQLException {
ValidationSymbols object = new ValidationSymbols();
object.setId(resultSet.getLong("id"));
object.setCode(resultSet.getString("code"));
object.setSymbols(resultSet.getString("symbols"));
object.setComment(resultSet.getString("comment"));
return object;
}
@Override
protected Object[] objectToField(ValidationSymbols resultSet) {
Object[] args = new Object[]{
resultSet.getId(),
resultSet.getCode(),
resultSet.getSymbols(),
resultSet.getComment()
};
return args;
}
}

View file

@ -14,7 +14,7 @@ public class HazelcastLifecycleSupport extends AbstractHazelcastLifecycleSupport
/**
* Рабочая версия БД. Требуется вручную сверять с DDL.sql и накручивать эту переменную.
*/
public static final String CHECK_DB_VERSION = "3.17";
public static final String CHECK_DB_VERSION = "3.18";
private final Logger log = LoggerFactory.getLogger(this.getClass());

View file

@ -441,6 +441,7 @@ public class RunnableMapNamesForTesting {
checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_SDf57, SDf57.class,
new SettingOperation("setOp_type", new Object[]{"OT"})
));
checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ValidationSymbols, ValidationSymbols.class));
}
}

View file

@ -218,6 +218,7 @@ public final class IMDGDistributedNames {
public static final String Map_BlacklistMarket = "Map_BlacklistMarket";
public static final String Map_RiskParameter = "Map_RiskParameter";
public static final String Map_Rates = "Map_Rates";
public static final String Map_ValidationSymbols = "Map_ValidationSymbols";
public static final String Map_DbVersion = "Map_DbVersion";
//-------------------history and search tables