etreschenkov 2024-10-01 14:19:46 +03:00
parent baee68f25b
commit b25c99fb94
6 changed files with 169 additions and 3 deletions

View file

@ -0,0 +1,53 @@
package ru.clearing.classes.statics.data.security;
import java.math.BigDecimal;
import java.time.LocalDate;
import ru.clearing.classes.objects.BusinessObject;
public class Rates extends BusinessObject {
private BigDecimal value;
private LocalDate valueDate;
private String currency;
private Long currencyId;
private String workflowStatus;
public BigDecimal getValue() {
return value;
}
public void setValue(BigDecimal value) {
this.value = value;
}
public LocalDate getValueDate() {
return valueDate;
}
public void setValueDate(LocalDate valueDate) {
this.valueDate = valueDate;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public Long getCurrencyId() {
return currencyId;
}
public void setCurrencyId(Long currencyId) {
this.currencyId = currencyId;
}
public String getWorkflowStatus() {
return workflowStatus;
}
public void setWorkflowStatus(String workflowStatus) {
this.workflowStatus = workflowStatus;
}
}

View file

@ -5198,6 +5198,28 @@ 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;
CREATE TABLE RATES
(
ID BIGINT,
VALUE numeric(72, 18),
VALUE_DATE date,
CURRENCY VARCHAR(4),
CURRENCY_ID BIGINT,
CREATED_AT timestamp,
UPDATED_AT timestamp,
WORKFLOW_STATUS VARCHAR(4)
);
COMMENT ON TABLE RATES IS 'Расчетные курсы';
COMMENT ON COLUMN RATES.ID IS 'Идентификатор записи';
COMMENT ON COLUMN RATES.VALUE IS 'Расчетный курс';
COMMENT ON COLUMN RATES.VALUE_DATE IS 'Дата, на которую расчетный курс';
COMMENT ON COLUMN RATES.CURRENCY IS 'Код валюты';
COMMENT ON COLUMN RATES.CURRENCY_ID IS 'Идентификатор валюты';
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;
/* views */
-- Data types

View file

@ -47,7 +47,7 @@ CREATE TABLE RISK_PARAMETER
);
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.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 'Èäåíòèôèêàòîð âàëþòíîé ïàðû';
@ -56,4 +56,27 @@ 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;
DROP TABLE IF EXISTS RATES;
CREATE TABLE RATES
(
ID BIGINT,
VALUE numeric(72, 18),
VALUE_DATE date,
CURRENCY VARCHAR(4),
CURRENCY_ID BIGINT,
CREATED_AT timestamp,
UPDATED_AT timestamp,
WORKFLOW_STATUS VARCHAR(4)
);
COMMENT ON TABLE RATES IS 'Ðàñ÷åòíûå êóðñû';
COMMENT ON COLUMN RATES.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN RATES.VALUE IS 'Ðàñ÷åòíûé êóðñ';
COMMENT ON COLUMN RATES.VALUE_DATE IS 'Äàòà, íà êîòîðóþ ðàñ÷åòíûé êóðñ';
COMMENT ON COLUMN RATES.CURRENCY IS 'Êîä âàëþòû';
COMMENT ON COLUMN RATES.CURRENCY_ID IS 'Èäåíòèôèêàòîð âàëþòû';
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;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.15') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -0,0 +1,66 @@
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.Rates;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.platform.utils.time.TimeUtil;
@Component
public class RatesMapStore extends TemplateMapStore<Rates> {
public RatesMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_Rates;
}
@Override
public String getTableName() {
return "RATES";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "VALUE", "VALUE_DATE", "CURRENCY", "CURRENCY_ID", "CREATED_AT", "UPDATED_AT", "WORKFLOW_STATUS"
};
}
@Override
public Rates objectReader(ResultSet resultSet) throws SQLException {
Rates object = new Rates();
object.setId(resultSet.getObject("ID", Long.class));
object.setValue(resultSet.getObject("VALUE", BigDecimal.class));
object.setValueDate(getLocalDateFromSqlDate(resultSet,"VALUE_DATE"));
object.setCurrency(resultSet.getObject("CURRENCY", String.class));
object.setCurrencyId(resultSet.getObject("CURRENCY_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(Rates object) {
Object[] args = new Object[]{
object.getId(),
object.getValue(),
TimeUtil.toDateFromLocalDate(object.getValueDate()),
object.getCurrency(),
object.getCurrencyId(),
TimeUtil.toDateFromInstant(object.getCreated()),
TimeUtil.toDateFromInstant(object.getUpdated()),
object.getWorkflowStatus()
};
return args;
}
}

View file

@ -8,6 +8,7 @@ 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;
import ru.spcex.platform.utils.time.TimeUtil;
@Component
public class RiskParameterMapStore extends TemplateMapStore<RiskParameter> {
@ -55,8 +56,8 @@ public class RiskParameterMapStore extends TemplateMapStore<RiskParameter> {
object.getSettlementType(),
object.getCurrencyPair(),
object.getCurrencyPairId(),
object.getCreated(),
object.getUpdated(),
TimeUtil.toDateFromInstant(object.getCreated()),
TimeUtil.toDateFromInstant(object.getUpdated()),
object.getWorkflowStatus()
};
return args;

View file

@ -217,6 +217,7 @@ public final class IMDGDistributedNames {
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_Rates = "Map_Rates";
public static final String Map_DbVersion = "Map_DbVersion";
//-------------------history and search tables