This commit is contained in:
parent
cc48b21066
commit
b87f5dbb80
12 changed files with 483 additions and 0 deletions
|
|
@ -0,0 +1,37 @@
|
||||||
|
package ru.spcex.clearing.securities.config.validation;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesNewRequest;
|
||||||
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.clearing.securities.validation.rule.RatesValidationRule;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
import ru.spcex.platform.utils.validation.ValidatorImpl;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class RatesValidationConfig {
|
||||||
|
|
||||||
|
@Bean("ratesValidator")
|
||||||
|
public Function<RatesNewRequest, IValidator> ratesValidator(Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation) {
|
||||||
|
return ratesRequest -> {
|
||||||
|
ImdgValidationContext<RatesNewRequest> context = new ImdgValidationContext<>();
|
||||||
|
context.setValidatedObject(ratesRequest);
|
||||||
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_Rates);
|
||||||
|
return new ValidatorImpl<>(context,
|
||||||
|
FieldRequiredRule.instance("currencyPairUd", RatesNewRequest::getCurrencyPairId, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
FieldRequiredRule.instance("value", RatesNewRequest::getValue, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
FieldRequiredRule.instance("settlementType", RatesNewRequest::getValueDate, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
RatesValidationRule.CHECK_ON_EXIST
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package ru.spcex.clearing.securities.config.validation;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterNewRequest;
|
||||||
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.clearing.securities.validation.rule.RiskParameterValidationRule;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
import ru.spcex.platform.utils.validation.ValidatorImpl;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class RiskParameterValidationConfig {
|
||||||
|
|
||||||
|
@Bean("riskParameterValidator")
|
||||||
|
public Function<RiskParameterNewRequest, IValidator> riskParameterValidator(Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation) {
|
||||||
|
return riskParameter -> {
|
||||||
|
ImdgValidationContext<RiskParameterNewRequest> context = new ImdgValidationContext<>();
|
||||||
|
context.setValidatedObject(riskParameter);
|
||||||
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_RiskParameter);
|
||||||
|
return new ValidatorImpl<>(context,
|
||||||
|
FieldRequiredRule.instance("currencyPairUd", RiskParameterNewRequest::getCurrencyPairId, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
FieldRequiredRule.instance("value", RiskParameterNewRequest::getValue, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
FieldRequiredRule.instance("settlementType", RiskParameterNewRequest::getSettlementType, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
|
RiskParameterValidationRule.CHECK_ON_EXIST
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -21,6 +21,8 @@ public enum SecuritiesError implements IErrorEnumId {
|
||||||
ListingOnMMSCreatedBySystem(1021L), // Информиция об инструментах Денежного рынка на режимах добавляется автоматически.
|
ListingOnMMSCreatedBySystem(1021L), // Информиция об инструментах Денежного рынка на режимах добавляется автоматически.
|
||||||
ListingOnMMSUpdatedBySystem(1022L), // Информиция об инструментах Денежного рынка на режимах изменяется автоматически.
|
ListingOnMMSUpdatedBySystem(1022L), // Информиция об инструментах Денежного рынка на режимах изменяется автоматически.
|
||||||
ListingOnMMSDeletedBySystem(1023L), // Информиция об инструментах Денежного рынка на режимах блокируется автоматически.
|
ListingOnMMSDeletedBySystem(1023L), // Информиция об инструментах Денежного рынка на режимах блокируется автоматически.
|
||||||
|
RiskParameterAlreadyExist(1024L),
|
||||||
|
RatesAlreadyExist(1025L)
|
||||||
;
|
;
|
||||||
private final Long id;
|
private final Long id;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package ru.spcex.clearing.securities.service.facade;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.clearing.classes.statics.data.security.RiskParameter;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterNewRequest;
|
||||||
|
import ru.spcex.platform.classes.base.interfaces.IClearingFacade;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class RiskParameterFacade implements IClearingFacade {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final ImdgId idGenerator;
|
||||||
|
private final ImdgProvider imdgProvider;
|
||||||
|
private final Imdg<RiskParameter> riskParameterImdg;
|
||||||
|
|
||||||
|
public RiskParameterFacade(ImdgProvider imdgProvider) {
|
||||||
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
|
this.imdgProvider = imdgProvider;
|
||||||
|
this.riskParameterImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Создает clientCode, TCR и опционально TCRList, если указаны валюты.
|
||||||
|
*/
|
||||||
|
public void createRiskParameter(RiskParameterNewRequest request) {
|
||||||
|
log.trace("Start process creating new client code");
|
||||||
|
RiskParameter riskParameter = new RiskParameter();
|
||||||
|
|
||||||
|
riskParameter.setCurrencyPairId(request.getCurrencyPairId());
|
||||||
|
riskParameter.setSettlementType(request.getSettlementType());
|
||||||
|
riskParameter.setValue(request.getValue());
|
||||||
|
riskParameter.setWorkflowStatus(request.getStatus());
|
||||||
|
riskParameter.setCreated(Instant.now());
|
||||||
|
|
||||||
|
riskParameterImdg.insert(riskParameter);
|
||||||
|
log.debug("successfully processed, new risk_parameter id {}", riskParameter.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void lock() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unlock() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
package ru.spcex.clearing.securities.service.listeners;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
|
import org.apache.kafka.clients.producer.Producer;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterUpdateRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||||
|
import ru.spcex.clearing.securities.service.facade.RiskParameterFacade;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class RiskParameterMessageListener extends QueueConsumer implements InitializingBean {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final ImdgProvider imdgProvider;
|
||||||
|
private final RiskParameterFacade riskParameterFacade;
|
||||||
|
private final Function<RiskParameterNewRequest, IValidator> riskParameterValidator;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
|
private final IMessageResolver messageResolver;
|
||||||
|
|
||||||
|
public RiskParameterMessageListener(Consumer<String, Object> kafkaQueue,
|
||||||
|
Producer<String, Object> kafkaProducer,
|
||||||
|
ImdgProvider imdgProvider,
|
||||||
|
RiskParameterFacade riskParameterFacade,
|
||||||
|
Function<RiskParameterNewRequest, IValidator> riskParameterValidator,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
|
IMessageResolver messageResolver) {
|
||||||
|
super(kafkaQueue, kafkaProducer);
|
||||||
|
this.imdgProvider = imdgProvider;
|
||||||
|
this.riskParameterFacade = riskParameterFacade;
|
||||||
|
this.riskParameterValidator = riskParameterValidator;
|
||||||
|
this.userRoleVerification = userRoleVerification;
|
||||||
|
this.messageResolver = messageResolver;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterPropertiesSet() {
|
||||||
|
imdgProvider.waitAvailable();
|
||||||
|
|
||||||
|
//from backend-api requests
|
||||||
|
callback(RiskParameterNewRequest.class)
|
||||||
|
.setFunction(this::riskParameterNew)
|
||||||
|
.forDestination(Consts.DESTINATION_RISK_PARAMETER_NEW, callbacks::put);
|
||||||
|
callback(RiskParameterUpdateRequest.class)
|
||||||
|
.setFunction(this::riskParameterUpdate)
|
||||||
|
.forDestination(Consts.DESTINATION_RISK_PARAMETER_UPDATE, callbacks::put);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
private RequestInfoUpdate riskParameterNew(BaseRequest<RiskParameterNewRequest> riskParameterRequest) {
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(riskParameterRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
RiskParameterNewRequest request = riskParameterRequest.getRequestPayload();
|
||||||
|
IValidator validator = riskParameterValidator.apply(request);
|
||||||
|
Optional<EnumMessage> error = validator.tillFirstError();
|
||||||
|
if (error.isPresent()) {
|
||||||
|
String errMsg = messageResolver.resolve(error.get());
|
||||||
|
return new RequestInfoUpdate()
|
||||||
|
.setId(riskParameterRequest.getId())
|
||||||
|
.setStatus(ru.spcex.clearing.platform.messaging.service.Status.Error)
|
||||||
|
.setMessage(errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
riskParameterFacade.createRiskParameter(request);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private RequestInfoUpdate riskParameterUpdate(BaseRequest<RiskParameterUpdateRequest> clientCodeNewRequest) {
|
||||||
|
// RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(clientCodeNewRequest);
|
||||||
|
// if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
// RiskParameterUpdateRequest request = clientCodeNewRequest.getRequestPayload();
|
||||||
|
// ValidationResult validationResult = clientCodeValidator.checkBackendNewRequest(request);
|
||||||
|
// if (!validationResult.isValid()) {
|
||||||
|
// return makeErrorResponse(clientCodeNewRequest, validationResult);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// clientCodeFacade.createClientCode(request, validationResult.validator());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package ru.spcex.clearing.securities.validation.rule;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import ru.clearing.classes.statics.data.security.Rates;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesNewRequest;
|
||||||
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.platform.enumeration.Status;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||||
|
|
||||||
|
public enum RatesValidationRule implements IValidationRule<ImdgValidationContext<RatesNewRequest>> {
|
||||||
|
CHECK_ON_EXIST() {
|
||||||
|
@Override
|
||||||
|
public Optional<EnumMessage> validate(ImdgValidationContext<RatesNewRequest> context) {
|
||||||
|
RatesNewRequest action = context.getValidatedObject();
|
||||||
|
Imdg<Rates> imdgDictionary = context.obtainMap(IMDGDistributedNames.Map_Rates, Rates.class);
|
||||||
|
|
||||||
|
ImdgPredicateBuilder predicateBuilder = imdgDictionary.predicateBuilder();
|
||||||
|
Rates rates = imdgDictionary.getFirstObjectByPredicate(
|
||||||
|
predicateBuilder.and(
|
||||||
|
predicateBuilder.equals("currencyPairId", action.getCurrencyPairId()),
|
||||||
|
predicateBuilder.equals("valueDate", action.getValueDate()),
|
||||||
|
predicateBuilder.equals("workflowStatus", Status.Active.getKey())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (rates != null) {
|
||||||
|
return of(SecuritiesError.RatesAlreadyExist, action.getCurrencyPairId());
|
||||||
|
}
|
||||||
|
return empty();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String ruleName() {
|
||||||
|
return "MmsNewValidationRule." + name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package ru.spcex.clearing.securities.validation.rule;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import ru.clearing.classes.statics.data.security.RiskParameter;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterNewRequest;
|
||||||
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.platform.enumeration.Status;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||||
|
|
||||||
|
public enum RiskParameterValidationRule implements IValidationRule<ImdgValidationContext<RiskParameterNewRequest>> {
|
||||||
|
CHECK_ON_EXIST() {
|
||||||
|
@Override
|
||||||
|
public Optional<EnumMessage> validate(ImdgValidationContext<RiskParameterNewRequest> context) {
|
||||||
|
RiskParameterNewRequest action = context.getValidatedObject();
|
||||||
|
|
||||||
|
Imdg<RiskParameter> imdgDictionary = context.obtainMap(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
||||||
|
|
||||||
|
ImdgPredicateBuilder predicateBuilder = imdgDictionary.predicateBuilder();
|
||||||
|
RiskParameter riskParameter = imdgDictionary.getFirstObjectByPredicate(
|
||||||
|
predicateBuilder.and(
|
||||||
|
predicateBuilder.equals("currencyPairId", action.getCurrencyPairId()),
|
||||||
|
predicateBuilder.equals("settlementType", action.getSettlementType()),
|
||||||
|
predicateBuilder.equals("workflowStatus", Status.Active.getKey())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (riskParameter != null) {
|
||||||
|
return of(SecuritiesError.RiskParameterAlreadyExist, action.getCurrencyPairId());
|
||||||
|
}
|
||||||
|
return empty();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String ruleName() {
|
||||||
|
return "RiskParameterValidationRule." + name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -120,6 +120,11 @@ public interface Consts {
|
||||||
String NOTIFICATION_UPDATE = "notification-update";
|
String NOTIFICATION_UPDATE = "notification-update";
|
||||||
String PAIR_SDF = "pair-sdf";
|
String PAIR_SDF = "pair-sdf";
|
||||||
|
|
||||||
|
String DESTINATION_RISK_PARAMETER_NEW = "risk-parameter-new";
|
||||||
|
String DESTINATION_RISK_PARAMETER_UPDATE = "risk-parameter-update";
|
||||||
|
|
||||||
|
String DESTINATION_RATES_NEW = "rates-new";
|
||||||
|
String DESTINATION_RATES_UPDATE = "rates-update";
|
||||||
|
|
||||||
String DESTINATION_SDF08_NEW = "s-df-08-new";
|
String DESTINATION_SDF08_NEW = "s-df-08-new";
|
||||||
String DESTINATION_SDF02_NEW = "s-df-02-new";
|
String DESTINATION_SDF02_NEW = "s-df-02-new";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.security;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
public class RatesNewRequest {
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
private BigDecimal value;
|
||||||
|
@JsonProperty
|
||||||
|
private LocalDate valueDate;
|
||||||
|
@JsonProperty
|
||||||
|
private Long currencyPairId;
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
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 Long getCurrencyPairId() {
|
||||||
|
return currencyPairId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrencyPairId(Long currencyPairId) {
|
||||||
|
this.currencyPairId = currencyPairId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.security;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class RatesUpdateRequest {
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
private Long id;
|
||||||
|
@JsonProperty
|
||||||
|
private BigDecimal value;
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(BigDecimal value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.security;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class RiskParameterNewRequest {
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
private BigDecimal value;
|
||||||
|
@JsonProperty
|
||||||
|
private String settlementType;
|
||||||
|
@JsonProperty
|
||||||
|
private Long currencyPairId;
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
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 Long getCurrencyPairId() {
|
||||||
|
return currencyPairId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrencyPairId(Long currencyPairId) {
|
||||||
|
this.currencyPairId = currencyPairId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.security;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class RiskParameterUpdateRequest {
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
private Long id;
|
||||||
|
@JsonProperty
|
||||||
|
private BigDecimal value;
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(BigDecimal value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue