This commit is contained in:
parent
5e8ba401cc
commit
621a9dec97
8 changed files with 39 additions and 22 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"version": "3.23.295.160",
|
"version": "3.23.295.161",
|
||||||
|
|
||||||
"enums": {
|
"enums": {
|
||||||
|
|
||||||
|
|
@ -11854,6 +11854,23 @@
|
||||||
,
|
,
|
||||||
{"method":"put",
|
{"method":"put",
|
||||||
|
|
||||||
|
"name": "Изменение заявки",
|
||||||
|
|
||||||
|
"class": "ru.spcex.clearing.backendapi.controller.request.cud.order.OrderCurrencyUpdateStatusAction",
|
||||||
|
|
||||||
|
"fields": [
|
||||||
|
{"code": "id",
|
||||||
|
"type": 1,"name": "Идентификатор записи","shortname": "ID","link": "orderCurrency","linkCode": "id","required": true
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{"code": "status",
|
||||||
|
"type": 12,"name": "Статус заявки","shortname": "Статус","link": "orderStatus"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{"method":"put",
|
||||||
|
|
||||||
"name": "Изменение типа сделки переноса",
|
"name": "Изменение типа сделки переноса",
|
||||||
|
|
||||||
"destination": "order-currency/overnightType",
|
"destination": "order-currency/overnightType",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
|
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
|
||||||
<meta version="3.23.295.160">
|
<meta version="3.23.295.161">
|
||||||
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
|
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
|
||||||
<!--Здесь словари-->
|
<!--Здесь словари-->
|
||||||
<enums>
|
<enums>
|
||||||
|
|
|
||||||
|
|
@ -1335,6 +1335,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11001, 'DFLT', 'Зап
|
||||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11002, 'DFLT', 'Запись уже существует') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11002, 'DFLT', 'Запись уже существует') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11003, 'DFLT', 'Добавление ДУК возможно только для балансирующих сделок ПЛ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11003, 'DFLT', 'Добавление ДУК возможно только для балансирующих сделок ПЛ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11004, 'DFLT', 'Изменение ДУК возможно только для балансирующих сделок ПЛ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11004, 'DFLT', 'Изменение ДУК возможно только для балансирующих сделок ПЛ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
|
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (11005, 'DFLT', 'Неверное значение параметра %s') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
|
|
||||||
INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (1, 'RUS', 'Резидент РФ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (1, 'RUS', 'Резидент РФ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (2, 'XTRN', 'Нерезидент РФ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (2, 'XTRN', 'Нерезидент РФ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,12 @@ package ru.spcex.clearing.dflt.management.config;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Scope;
|
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import ru.spcex.clearing.dflt.management.config.settings.DefaultManagementSettings;
|
import ru.spcex.clearing.dflt.management.config.settings.DefaultManagementSettings;
|
||||||
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
|
|
||||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
|
||||||
import ru.spcex.platform.enumeration.UserRole;
|
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class AppConfig {
|
public class AppConfig {
|
||||||
|
|
@ -50,10 +44,4 @@ public class AppConfig {
|
||||||
taskExecutorIdGeneratorAwaiter,
|
taskExecutorIdGeneratorAwaiter,
|
||||||
settings.getHazelcast());
|
settings.getHazelcast());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
|
||||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
|
||||||
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
|
||||||
return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, DefaultManagementErrors.UserVerifyDenial);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,9 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
public enum DefaultManagementErrors implements IErrorEnumId {
|
public enum DefaultManagementErrors implements IErrorEnumId {
|
||||||
|
|
||||||
GeneralError(11000L),
|
GeneralError(11000L),
|
||||||
UserVerifyDenial(11001L),
|
RecordNotFound(11001L),
|
||||||
RequiredFieldIsEmpty(11007L),
|
RequiredFieldIsEmpty(11007L),
|
||||||
DictionaryNotFound(11005L),
|
DictionaryNotFound(11005L),
|
||||||
RecordNotFound(11006L),
|
|
||||||
RecordAlreadyPresent(11002L),
|
RecordAlreadyPresent(11002L),
|
||||||
OnlyBalancingOrdersAllowed(11003L),
|
OnlyBalancingOrdersAllowed(11003L),
|
||||||
OnlyBalancingOrdersAllowedForChanging(11004L),
|
OnlyBalancingOrdersAllowedForChanging(11004L),
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.order.OrderCurrencyUpdate
|
||||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
|
||||||
import ru.spcex.platform.enumeration.MarketType;
|
import ru.spcex.platform.enumeration.MarketType;
|
||||||
import ru.spcex.platform.enumeration.OrderStatus;
|
import ru.spcex.platform.enumeration.OrderStatus;
|
||||||
import ru.spcex.platform.enumeration.OvernightType;
|
import ru.spcex.platform.enumeration.OvernightType;
|
||||||
|
|
@ -73,7 +72,6 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
public OrderCurrencyListener(Consumer<String, Object> kafkaQueue,
|
public OrderCurrencyListener(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
UserRoleVerification userRoleVerification,
|
|
||||||
@Qualifier("orderCurrencyUpdateOvernightTypeValidator")
|
@Qualifier("orderCurrencyUpdateOvernightTypeValidator")
|
||||||
Function<OrderCurrencyUpdateRequest, IValidator> overnightTypeUpdateValidator,
|
Function<OrderCurrencyUpdateRequest, IValidator> overnightTypeUpdateValidator,
|
||||||
@Qualifier("orderCurrencyUpdateValidator")
|
@Qualifier("orderCurrencyUpdateValidator")
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.misc.OvernightSettingsUpd
|
||||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.validation.Stored;
|
import ru.spcex.platform.imdg.validation.Stored;
|
||||||
|
|
@ -30,7 +29,6 @@ import ru.spcex.platform.utils.validation.IValidator;
|
||||||
@Service
|
@Service
|
||||||
public class OvernightSettingsListener extends QueueConsumer implements InitializingBean {
|
public class OvernightSettingsListener extends QueueConsumer implements InitializingBean {
|
||||||
protected final Logger log = LoggerFactory.getLogger(getClass());
|
protected final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final UserRoleVerification userRoleVerification;
|
|
||||||
private final Function<OvernightSettingsNewRequest, IValidator> osNewValidator;
|
private final Function<OvernightSettingsNewRequest, IValidator> osNewValidator;
|
||||||
private final Function<OvernightSettingsUpdateRequest, IValidator> osUpdateValidator;
|
private final Function<OvernightSettingsUpdateRequest, IValidator> osUpdateValidator;
|
||||||
private final IMessageResolver msgResolver;
|
private final IMessageResolver msgResolver;
|
||||||
|
|
@ -40,7 +38,6 @@ public class OvernightSettingsListener extends QueueConsumer implements Initiali
|
||||||
public OvernightSettingsListener(Consumer<String, Object> kafkaQueue,
|
public OvernightSettingsListener(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
UserRoleVerification userRoleVerification,
|
|
||||||
IMessageResolver msgResolver,
|
IMessageResolver msgResolver,
|
||||||
@Qualifier("overnightSettingsNewValidator")
|
@Qualifier("overnightSettingsNewValidator")
|
||||||
Function<OvernightSettingsNewRequest, IValidator> osNewValidator,
|
Function<OvernightSettingsNewRequest, IValidator> osNewValidator,
|
||||||
|
|
@ -48,7 +45,6 @@ public class OvernightSettingsListener extends QueueConsumer implements Initiali
|
||||||
Function<OvernightSettingsUpdateRequest, IValidator> osUpdateValidator
|
Function<OvernightSettingsUpdateRequest, IValidator> osUpdateValidator
|
||||||
) {
|
) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.userRoleVerification = userRoleVerification;
|
|
||||||
this.osNewValidator = osNewValidator;
|
this.osNewValidator = osNewValidator;
|
||||||
this.osUpdateValidator = osUpdateValidator;
|
this.osUpdateValidator = osUpdateValidator;
|
||||||
this.msgResolver = msgResolver;
|
this.msgResolver = msgResolver;
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,14 @@ package ru.spcex.clearing.imdg.businessobject;
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||||
|
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||||
import ru.spcex.platform.utils.time.TimeUtil;
|
import ru.spcex.platform.utils.time.TimeUtil;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
|
@ -64,6 +67,21 @@ public class OrderCurrencyMapStore extends TemplateMapStore<OrderCurrency> {
|
||||||
return new String[]{"id"};
|
return new String[]{"id"};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Iterable<Long> loadAllKeys() {
|
||||||
|
log.debug("loadAllKeys from " + getTableName());
|
||||||
|
List<Long> keys;
|
||||||
|
try {
|
||||||
|
keys = jdbcTemplate.query("select id from " + getTableName() + " where created_at = ?",
|
||||||
|
new Object[]{LocalDate.now()},
|
||||||
|
(resultSet, i) -> resultSet.getLong("id"));
|
||||||
|
} catch (Throwable e) {
|
||||||
|
log.error("{}", ExceptionUtils.getStackTrace(e));
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
return keys;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderCurrency objectReader(ResultSet resultSet) throws SQLException {
|
public OrderCurrency objectReader(ResultSet resultSet) throws SQLException {
|
||||||
OrderCurrency object = new OrderCurrency();
|
OrderCurrency object = new OrderCurrency();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue