From baee68f25b9f224057c51188e225275eacad56b9 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Tue, 1 Oct 2024 14:05:12 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-754 --- .../statics/data/security/RiskParameter.java | 52 +++++++++++++++ .../db-scripts/src/main/resources/db/DDL.sql | 21 ++++++ .../src/main/resources/db/updateDDL_3.15.sql | 22 +++++++ .../imdg/object/RiskParameterMapStore.java | 65 +++++++++++++++++++ .../clearing/imdg/IMDGDistributedNames.java | 1 + 5 files changed, 161 insertions(+) create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/RiskParameter.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RiskParameterMapStore.java diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/RiskParameter.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/RiskParameter.java new file mode 100644 index 000000000..67e896d03 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/RiskParameter.java @@ -0,0 +1,52 @@ +package ru.clearing.classes.statics.data.security; + +import java.math.BigDecimal; +import ru.clearing.classes.objects.BusinessObject; + +public class RiskParameter extends BusinessObject { + private BigDecimal value; + private String settlementType; + private String currencyPair; + private Long currencyPairId; + private String workflowStatus; + + public BigDecimal getValue() { + return value; + } + + public void setValue(BigDecimal value) { + this.value = value; + } + + public String getSettlementType() { + return settlementType; + } + + public void setSettlementType(String settlementType) { + this.settlementType = settlementType; + } + + public String getCurrencyPair() { + return currencyPair; + } + + public void setCurrencyPair(String currencyPair) { + this.currencyPair = currencyPair; + } + + public Long getCurrencyPairId() { + return currencyPairId; + } + + public void setCurrencyPairId(Long currencyPairId) { + this.currencyPairId = currencyPairId; + } + + public String getWorkflowStatus() { + return workflowStatus; + } + + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; + } +} diff --git a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql index 8e3878ac9..20ec36b56 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -5177,6 +5177,27 @@ COMMENT ON COLUMN BLACKLIST_MARKET.SECTION IS 'Секция'; GRANT ALL PRIVILEGES ON TABLE BLACKLIST_MARKET TO clearing; +CREATE TABLE RISK_PARAMETER +( + ID BIGINT, + VALUE numeric(72,18), + SETTLEMENT_TYPE VARCHAR(4), + CURRENCY_PAIR VARCHAR(12), + CURRENCY_PAIR_ID BIGINT, + CREATED_AT timestamp, + UPDATED_AT timestamp, + WORKFLOW_STATUS VARCHAR(4) +); +COMMENT ON TABLE RISK_PARAMETER IS 'Риск-параметры'; +COMMENT ON COLUMN RISK_PARAMETER.ID IS 'Идентификатор записи'; +COMMENT ON COLUMN RISK_PARAMETER.VALUE IS 'Ставка '; +COMMENT ON COLUMN RISK_PARAMETER.SETTLEMENT_TYPE IS 'Код расчета'; +COMMENT ON COLUMN RISK_PARAMETER.CURRENCY_PAIR IS 'Код валютной пары'; +COMMENT ON COLUMN RISK_PARAMETER.CURRENCY_PAIR_ID IS 'Идентификатор валютной пары'; +COMMENT ON COLUMN RISK_PARAMETER.CREATED_AT IS 'Время создания записи'; +COMMENT ON COLUMN RISK_PARAMETER.UPDATED_AT IS 'Время изменения записи'; +COMMENT ON COLUMN RISK_PARAMETER.WORKFLOW_STATUS IS 'Статус'; +GRANT ALL PRIVILEGES ON TABLE RISK_PARAMETER TO clearing; /* views */ -- Data types diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.15.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.15.sql index d53284757..2fa3768db 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.15.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.15.sql @@ -33,5 +33,27 @@ COMMENT ON COLUMN BANK_ACCOUNT.PERSONAL_ACCOUNT IS ' COMMENT ON COLUMN BANK_ACCOUNT.BUDGET_CLASSIFICATION_CODE IS ''; COMMENT ON COLUMN BANK_ACCOUNT.OKTMO IS ' '; +DROP TABLE IF EXISTS RISK_PARAMETER; +CREATE TABLE RISK_PARAMETER +( + ID BIGINT, + VALUE numeric(72,18), + SETTLEMENT_TYPE VARCHAR(4), + CURRENCY_PAIR VARCHAR(12), + CURRENCY_PAIR_ID BIGINT, + CREATED_AT timestamp, + UPDATED_AT timestamp, + WORKFLOW_STATUS VARCHAR(4) +); +COMMENT ON TABLE RISK_PARAMETER IS '-'; +COMMENT ON COLUMN RISK_PARAMETER.ID IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.VALUE IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.SETTLEMENT_TYPE IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.CURRENCY_PAIR IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.CURRENCY_PAIR_ID IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.CREATED_AT IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.UPDATED_AT IS ' '; +COMMENT ON COLUMN RISK_PARAMETER.WORKFLOW_STATUS IS ''; +GRANT ALL PRIVILEGES ON TABLE RISK_PARAMETER TO clearing; INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.15') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RiskParameterMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RiskParameterMapStore.java new file mode 100644 index 000000000..0fcc4738a --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RiskParameterMapStore.java @@ -0,0 +1,65 @@ +package ru.spcex.clearing.imdg.object; + +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.security.RiskParameter; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; + +@Component +public class RiskParameterMapStore extends TemplateMapStore { + + public RiskParameterMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RiskParameter; + } + + @Override + public String getTableName() { + return "RISK_PARAMETER"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "VALUE", "SETTLEMENT_TYPE", "CURRENCY_PAIR", "CURRENCY_PAIR_ID", "CREATED_AT", "UPDATED_AT", "WORKFLOW_STATUS" + }; + } + + @Override + public RiskParameter objectReader(ResultSet resultSet) throws SQLException { + RiskParameter object = new RiskParameter(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setValue(resultSet.getObject("VALUE", BigDecimal.class)); + object.setSettlementType(resultSet.getObject("SETTLEMENT_TYPE", String.class)); + object.setCurrencyPair(resultSet.getObject("CURRENCY_PAIR", String.class)); + object.setCurrencyPairId(resultSet.getObject("CURRENCY_PAIR_ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + object.setWorkflowStatus(resultSet.getObject("WORKFLOW_STATUS", String.class)); + return object; + } + + @Override + public Object[] objectToField(RiskParameter object) { + Object[] args = new Object[]{ + object.getId(), + object.getValue(), + object.getSettlementType(), + object.getCurrencyPair(), + object.getCurrencyPairId(), + object.getCreated(), + object.getUpdated(), + object.getWorkflowStatus() + }; + return args; + } + +} \ No newline at end of file diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index 9523c6825..e1134a3ba 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -216,6 +216,7 @@ public final class IMDGDistributedNames { public static final String Map_PairSdf = "Map_PairSdf"; public static final String Map_GatewayResult = "Map_GatewayResult"; public static final String Map_BlacklistMarket = "Map_BlacklistMarket"; + public static final String Map_RiskParameter = "Map_RiskParameter"; public static final String Map_DbVersion = "Map_DbVersion"; //-------------------history and search tables