This commit is contained in:
parent
454bb99dfa
commit
f26826bb4e
5 changed files with 17 additions and 3 deletions
|
|
@ -4,6 +4,8 @@ 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.context.annotation.Scope;
|
||||||
|
import ru.clearing.classes.statics.data.security.Rates;
|
||||||
|
import ru.clearing.classes.statics.data.security.RiskParameter;
|
||||||
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.securities.errors.SecuritiesError;
|
||||||
|
|
@ -29,6 +31,8 @@ public class ValidationConfig {
|
||||||
BiConsumer<String, Class<? extends SpcexObjectBase>> addImdg = (s, aClass) -> imdg.put(s, imdgProvider.getImdg(s, aClass));
|
BiConsumer<String, Class<? extends SpcexObjectBase>> addImdg = (s, aClass) -> imdg.put(s, imdgProvider.getImdg(s, aClass));
|
||||||
|
|
||||||
addImdg.accept(IMDGDistributedNames.Map_FixedIncomeCashFlow, CountryCodeDictionary.class);
|
addImdg.accept(IMDGDistributedNames.Map_FixedIncomeCashFlow, CountryCodeDictionary.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_Rates, Rates.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
||||||
|
|
||||||
return imdg;
|
return imdg;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,9 @@ public class RatesValidationConfig {
|
||||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Rates);
|
addImdg.accept(IMDGDistributedNames.Map_Rates);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
FieldRequiredRule.instance("currencyPairUd", RatesNewRequest::getCurrencyId, SecuritiesError.RequiredFieldIsEmpty),
|
FieldRequiredRule.instance("currencyPairId", RatesNewRequest::getCurrencyId, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
FieldRequiredRule.instance("value", RatesNewRequest::getValue, SecuritiesError.RequiredFieldIsEmpty),
|
FieldRequiredRule.instance("value", RatesNewRequest::getValue, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
FieldRequiredRule.instance("settlementType", RatesNewRequest::getValueDate, SecuritiesError.RequiredFieldIsEmpty),
|
FieldRequiredRule.instance("valueDate", RatesNewRequest::getValueDate, SecuritiesError.RequiredFieldIsEmpty),
|
||||||
RatesValidationRule.CHECK_ON_EXIST
|
RatesValidationRule.CHECK_ON_EXIST
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.security.Rates;
|
import ru.clearing.classes.statics.data.security.Rates;
|
||||||
|
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.security.RatesUpdateRequest;
|
||||||
|
|
@ -19,11 +20,13 @@ public class RatesFacade implements IClearingFacade {
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final Imdg<Rates> ratesImdg;
|
private final Imdg<Rates> ratesImdg;
|
||||||
|
private final Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||||
|
|
||||||
public RatesFacade(ImdgProvider imdgProvider) {
|
public RatesFacade(ImdgProvider imdgProvider) {
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.ratesImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Rates, Rates.class);
|
this.ratesImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Rates, Rates.class);
|
||||||
|
this.currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,7 +36,9 @@ public class RatesFacade implements IClearingFacade {
|
||||||
log.trace("Start process creating new rates");
|
log.trace("Start process creating new rates");
|
||||||
Rates rates = new Rates();
|
Rates rates = new Rates();
|
||||||
|
|
||||||
|
CurrencyCodeDictionary currencyCodeDictionary = currencyCodeDictionaryImdg.getSingleObjectByID(request.getCurrencyId());
|
||||||
rates.setCurrencyId(request.getCurrencyId());
|
rates.setCurrencyId(request.getCurrencyId());
|
||||||
|
rates.setCurrency(currencyCodeDictionary.getCode());
|
||||||
rates.setValue(request.getValue());
|
rates.setValue(request.getValue());
|
||||||
rates.setValueDate(request.getValueDate());
|
rates.setValueDate(request.getValueDate());
|
||||||
rates.setWorkflowStatus(request.getStatus());
|
rates.setWorkflowStatus(request.getStatus());
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.security.RiskParameter;
|
import ru.clearing.classes.statics.data.security.RiskParameter;
|
||||||
|
import ru.clearing.platform.dictionary.CurrencyPairDictionary;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.security.RiskParameterNewRequest;
|
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.domain.cud.security.RiskParameterUpdateRequest;
|
||||||
|
|
@ -19,11 +20,13 @@ public class RiskParameterFacade implements IClearingFacade {
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final Imdg<RiskParameter> riskParameterImdg;
|
private final Imdg<RiskParameter> riskParameterImdg;
|
||||||
|
private final Imdg<CurrencyPairDictionary> currencyPairDictionaryImdg;
|
||||||
|
|
||||||
public RiskParameterFacade(ImdgProvider imdgProvider) {
|
public RiskParameterFacade(ImdgProvider imdgProvider) {
|
||||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.riskParameterImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
this.riskParameterImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
||||||
|
this.currencyPairDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyPairDictionary, CurrencyPairDictionary.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,7 +36,9 @@ public class RiskParameterFacade implements IClearingFacade {
|
||||||
log.trace("Start process creating new risk_parameter");
|
log.trace("Start process creating new risk_parameter");
|
||||||
RiskParameter riskParameter = new RiskParameter();
|
RiskParameter riskParameter = new RiskParameter();
|
||||||
|
|
||||||
|
CurrencyPairDictionary currencyPairDictionary = currencyPairDictionaryImdg.getSingleObjectByID(request.getCurrencyPairId());
|
||||||
riskParameter.setCurrencyPairId(request.getCurrencyPairId());
|
riskParameter.setCurrencyPairId(request.getCurrencyPairId());
|
||||||
|
riskParameter.setCurrencyPair(currencyPairDictionary.getCode());
|
||||||
riskParameter.setSettlementType(request.getSettlementType());
|
riskParameter.setSettlementType(request.getSettlementType());
|
||||||
riskParameter.setValue(request.getValue());
|
riskParameter.setValue(request.getValue());
|
||||||
riskParameter.setWorkflowStatus(request.getStatus());
|
riskParameter.setWorkflowStatus(request.getStatus());
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public enum RatesValidationRule implements IValidationRule<ImdgValidationContext
|
||||||
ImdgPredicateBuilder predicateBuilder = imdgDictionary.predicateBuilder();
|
ImdgPredicateBuilder predicateBuilder = imdgDictionary.predicateBuilder();
|
||||||
Rates rates = imdgDictionary.getFirstObjectByPredicate(
|
Rates rates = imdgDictionary.getFirstObjectByPredicate(
|
||||||
predicateBuilder.and(
|
predicateBuilder.and(
|
||||||
predicateBuilder.equals("currencyPairId", action.getCurrencyId()),
|
predicateBuilder.equals("currencyId", action.getCurrencyId()),
|
||||||
predicateBuilder.equals("valueDate", action.getValueDate()),
|
predicateBuilder.equals("valueDate", action.getValueDate()),
|
||||||
predicateBuilder.equals("workflowStatus", Status.Active.getKey())
|
predicateBuilder.equals("workflowStatus", Status.Active.getKey())
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue