parent
cb3b251ee5
commit
b0e7595d73
9 changed files with 83 additions and 7 deletions
|
|
@ -50,6 +50,10 @@
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ru.spcex.clearing</groupId>
|
||||||
|
<artifactId>security-util</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
package ru.spcex.clearing.securities.config;
|
package ru.spcex.clearing.securities.config;
|
||||||
|
|
||||||
|
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 ru.clearing.platform.dictionary.CountryCodeDictionary;
|
import ru.clearing.platform.dictionary.CountryCodeDictionary;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
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.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
|
@ -29,8 +34,14 @@ public class ValidationConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean("validationHelper")
|
@Bean("validationHelper")
|
||||||
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
public ValidationHelper validationHelper(IMessageResolver messageResolver) {
|
public ValidationHelper validationHelper(IMessageResolver messageResolver) {
|
||||||
return new ValidationHelper(messageResolver);
|
return new ValidationHelper(messageResolver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
||||||
|
return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, SecuritiesError.UserVerifyDenial);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.securities.errors;
|
||||||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
|
|
||||||
public enum SecuritiesError implements IErrorEnumId {
|
public enum SecuritiesError implements IErrorEnumId {
|
||||||
|
UserVerifyDenial(1001L), // 'Нет прав на проведение данной операции
|
||||||
RequiredFieldIsEmpty(1002L),
|
RequiredFieldIsEmpty(1002L),
|
||||||
WrongFieldValue(1004L),
|
WrongFieldValue(1004L),
|
||||||
InstrumentAlreadyExists(1010L),
|
InstrumentAlreadyExists(1010L),
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodU
|
||||||
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.securities.validation.ValidationProvider;
|
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -29,18 +31,21 @@ public class CouponPeriodService extends QueueConsumer implements InitializingBe
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ValidationProvider validation;
|
private final ValidationProvider validation;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public CouponPeriodService(Consumer<String, Object> kafkaQueue,
|
public CouponPeriodService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
ValidationProvider validation,
|
ValidationProvider validation,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationHelper validationHelper) {
|
ValidationHelper validationHelper) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.validation = validation;
|
this.validation = validation;
|
||||||
this.couponPeriodImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CouponPeriod, CouponPeriod.class);
|
this.couponPeriodImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CouponPeriod, CouponPeriod.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,7 +84,10 @@ public class CouponPeriodService extends QueueConsumer implements InitializingBe
|
||||||
CouponPeriodUpdateRequest req = userRequest.getRequestPayload();
|
CouponPeriodUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("updateCurrency received id = {}", req.getId());
|
log.debug("updateCurrency received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.couponPeriodUpdateValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.couponPeriodUpdateValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
CouponPeriod couponPeriod = couponPeriodImdg.getSingleObjectByID(req.getId());
|
CouponPeriod couponPeriod = couponPeriodImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyUpdat
|
||||||
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.securities.validation.ValidationProvider;
|
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -28,6 +30,7 @@ public class CurrencyService extends QueueConsumer implements InitializingBean {
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ValidationProvider validation;
|
private final ValidationProvider validation;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -35,12 +38,14 @@ public class CurrencyService extends QueueConsumer implements InitializingBean {
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
ValidationProvider validation,
|
ValidationProvider validation,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationHelper validationHelper) {
|
ValidationHelper validationHelper) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.validation = validation;
|
this.validation = validation;
|
||||||
this.currencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Currency, Currency.class);
|
this.currencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Currency, Currency.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,7 +81,10 @@ public class CurrencyService extends QueueConsumer implements InitializingBean {
|
||||||
CurrencyUpdateRequest req = userRequest.getRequestPayload();
|
CurrencyUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("updateCurrency received id = {}", req.getId());
|
log.debug("updateCurrency received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.currencyUpdateValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.currencyUpdateValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
Currency currency = currencyImdg.getSingleObjectByID(req.getId());
|
Currency currency = currencyImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,9 @@ 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.securities.component.ListingBuilder;
|
import ru.spcex.clearing.securities.component.ListingBuilder;
|
||||||
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -36,6 +38,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ValidationProvider validation;
|
private final ValidationProvider validation;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final ListingBuilder listingBuilder = new ListingBuilder();
|
private final ListingBuilder listingBuilder = new ListingBuilder();
|
||||||
|
|
||||||
|
|
@ -43,6 +46,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing
|
||||||
public EquitySecurityService(Consumer<String, Object> kafkaQueue,
|
public EquitySecurityService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationProvider validation,
|
ValidationProvider validation,
|
||||||
ValidationHelper validationHelper) {
|
ValidationHelper validationHelper) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
|
|
@ -51,6 +55,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing
|
||||||
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -116,7 +121,10 @@ public class EquitySecurityService extends QueueConsumer implements Initializing
|
||||||
EquitySecurityUpdateRequest req = userRequest.getRequestPayload();
|
EquitySecurityUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId());
|
log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityUpdateValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityUpdateValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
EquitySecurity equity = equitySecurityImdg.getSingleObjectByID(req.getId());
|
EquitySecurity equity = equitySecurityImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
@ -149,7 +157,10 @@ public class EquitySecurityService extends QueueConsumer implements Initializing
|
||||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
CommonDeleteRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityDeleteValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityDeleteValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
Instant updateTime = Instant.now();
|
Instant updateTime = Instant.now();
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCa
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowUpdateRequest;
|
||||||
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.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
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.utils.validation.IValidator;
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
@ -27,6 +29,7 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final Imdg<FixedIncomeCashFlow> fixedIncomeCashFlowImdg;
|
private final Imdg<FixedIncomeCashFlow> fixedIncomeCashFlowImdg;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
|
|
||||||
private final Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator;
|
private final Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator;
|
||||||
|
|
@ -35,11 +38,13 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial
|
||||||
public FixedIncomeCashFlowService(Consumer<String, Object> kafkaQueue,
|
public FixedIncomeCashFlowService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaResponseQueue,
|
Producer<String, Object> kafkaResponseQueue,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationHelper validationHelper,
|
ValidationHelper validationHelper,
|
||||||
@Qualifier("fixedIncomeCashFlowNewRequestValidator") Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator,
|
@Qualifier("fixedIncomeCashFlowNewRequestValidator") Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator,
|
||||||
@Qualifier("fixedIncomeCashFlowUpdateRequestValidator") Function<FixedIncomeCashFlowUpdateRequest, IValidator> fixedIncomeCashFlowUpdateRequestValidator) {
|
@Qualifier("fixedIncomeCashFlowUpdateRequestValidator") Function<FixedIncomeCashFlowUpdateRequest, IValidator> fixedIncomeCashFlowUpdateRequestValidator) {
|
||||||
super(kafkaQueue, kafkaResponseQueue);
|
super(kafkaQueue, kafkaResponseQueue);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.fixedIncomeCashFlowNewRequestValidator = fixedIncomeCashFlowNewRequestValidator;
|
this.fixedIncomeCashFlowNewRequestValidator = fixedIncomeCashFlowNewRequestValidator;
|
||||||
this.fixedIncomeCashFlowUpdateRequestValidator = fixedIncomeCashFlowUpdateRequestValidator;
|
this.fixedIncomeCashFlowUpdateRequestValidator = fixedIncomeCashFlowUpdateRequestValidator;
|
||||||
|
|
@ -83,7 +88,10 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial
|
||||||
public RequestInfoUpdate fixedIncomeCashFlowUpdate(BaseRequest<FixedIncomeCashFlowUpdateRequest> userRequest) {
|
public RequestInfoUpdate fixedIncomeCashFlowUpdate(BaseRequest<FixedIncomeCashFlowUpdateRequest> userRequest) {
|
||||||
log.debug("FixedIncomeCashFlowUpdateRequest received {}", userRequest.getId());
|
log.debug("FixedIncomeCashFlowUpdateRequest received {}", userRequest.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowUpdateRequestValidator);
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowUpdateRequestValidator);
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
FixedIncomeCashFlowUpdateRequest req = userRequest.getRequestPayload();
|
FixedIncomeCashFlowUpdateRequest req = userRequest.getRequestPayload();
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,9 @@ 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.securities.component.ListingBuilder;
|
import ru.spcex.clearing.securities.component.ListingBuilder;
|
||||||
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -36,6 +38,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ValidationProvider validation;
|
private final ValidationProvider validation;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final ListingBuilder listingBuilder = new ListingBuilder();
|
private final ListingBuilder listingBuilder = new ListingBuilder();
|
||||||
|
|
||||||
|
|
@ -44,6 +47,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
ValidationProvider validation,
|
ValidationProvider validation,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationHelper validationHelper) {
|
ValidationHelper validationHelper) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.validation = validation;
|
this.validation = validation;
|
||||||
|
|
@ -51,6 +55,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial
|
||||||
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -121,7 +126,10 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial
|
||||||
FixedIncomeSecurityUpdateRequest req = userRequest.getRequestPayload();
|
FixedIncomeSecurityUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("updateFixedIncome received id = {}", req.getId());
|
log.debug("updateFixedIncome received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeUpdateValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeUpdateValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
FixedIncomeSecurity fixedIncome = fixedIncomeSecurityImdg.getSingleObjectByID(req.getId());
|
FixedIncomeSecurity fixedIncome = fixedIncomeSecurityImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
@ -160,7 +168,10 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial
|
||||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
CommonDeleteRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeDeleteValidator());
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeDeleteValidator());
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
Instant updateTime = Instant.now();
|
Instant updateTime = Instant.now();
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,9 @@ 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.securities.component.ListingBuilder;
|
import ru.spcex.clearing.securities.component.ListingBuilder;
|
||||||
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
import ru.spcex.clearing.securities.validation.ValidationProvider;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -43,6 +45,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ValidationProvider validation;
|
private final ValidationProvider validation;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final IMessageResolver messageResolver;
|
private final IMessageResolver messageResolver;
|
||||||
private final ListingBuilder listingBuilder = new ListingBuilder();
|
private final ListingBuilder listingBuilder = new ListingBuilder();
|
||||||
|
|
@ -52,9 +55,11 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
ValidationProvider validation,
|
ValidationProvider validation,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
ValidationHelper validationHelper,
|
ValidationHelper validationHelper,
|
||||||
IMessageResolver messageResolver) {
|
IMessageResolver messageResolver) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
|
this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.validation = validation;
|
this.validation = validation;
|
||||||
this.moneyMarketSecurityMap = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
this.moneyMarketSecurityMap = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
||||||
|
|
@ -145,6 +150,10 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
private RequestInfoUpdate updateMoneyMarket(BaseRequest<MoneyMarketSecurityUpdateRequest> userRequest) {
|
private RequestInfoUpdate updateMoneyMarket(BaseRequest<MoneyMarketSecurityUpdateRequest> userRequest) {
|
||||||
MoneyMarketSecurityUpdateRequest req = userRequest.getRequestPayload();
|
MoneyMarketSecurityUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId());
|
log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId());
|
||||||
|
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
IValidator validator = validation.mmsUpdateValidator().apply(req);
|
IValidator validator = validation.mmsUpdateValidator().apply(req);
|
||||||
Optional<EnumMessage> validationError = validator.tillFirstError();
|
Optional<EnumMessage> validationError = validator.tillFirstError();
|
||||||
if (validationError.isPresent()) {
|
if (validationError.isPresent()) {
|
||||||
|
|
@ -190,6 +199,11 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
private RequestInfoUpdate deleteMoneyMarket(BaseRequest<CommonDeleteRequest> userRequest) {
|
private RequestInfoUpdate deleteMoneyMarket(BaseRequest<CommonDeleteRequest> userRequest) {
|
||||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
CommonDeleteRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
||||||
|
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
|
||||||
IValidator validator = validation.mmsDeleteValidator().apply(req);
|
IValidator validator = validation.mmsDeleteValidator().apply(req);
|
||||||
Optional<EnumMessage> validationError = validator.tillFirstError();
|
Optional<EnumMessage> validationError = validator.tillFirstError();
|
||||||
if (validationError.isPresent()) {
|
if (validationError.isPresent()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue