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.Configuration;
|
||||
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.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
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));
|
||||
|
||||
addImdg.accept(IMDGDistributedNames.Map_FixedIncomeCashFlow, CountryCodeDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Rates, Rates.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_RiskParameter, RiskParameter.class);
|
||||
|
||||
return imdg;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ public class RatesValidationConfig {
|
|||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Rates);
|
||||
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("settlementType", RatesNewRequest::getValueDate, SecuritiesError.RequiredFieldIsEmpty),
|
||||
FieldRequiredRule.instance("valueDate", RatesNewRequest::getValueDate, SecuritiesError.RequiredFieldIsEmpty),
|
||||
RatesValidationRule.CHECK_ON_EXIST
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.security.Rates;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
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.RatesUpdateRequest;
|
||||
|
|
@ -19,11 +20,13 @@ public class RatesFacade implements IClearingFacade {
|
|||
private final ImdgId idGenerator;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Imdg<Rates> ratesImdg;
|
||||
private final Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
|
||||
public RatesFacade(ImdgProvider imdgProvider) {
|
||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||
this.imdgProvider = imdgProvider;
|
||||
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");
|
||||
Rates rates = new Rates();
|
||||
|
||||
CurrencyCodeDictionary currencyCodeDictionary = currencyCodeDictionaryImdg.getSingleObjectByID(request.getCurrencyId());
|
||||
rates.setCurrencyId(request.getCurrencyId());
|
||||
rates.setCurrency(currencyCodeDictionary.getCode());
|
||||
rates.setValue(request.getValue());
|
||||
rates.setValueDate(request.getValueDate());
|
||||
rates.setWorkflowStatus(request.getStatus());
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.security.RiskParameter;
|
||||
import ru.clearing.platform.dictionary.CurrencyPairDictionary;
|
||||
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.RiskParameterUpdateRequest;
|
||||
|
|
@ -19,11 +20,13 @@ public class RiskParameterFacade implements IClearingFacade {
|
|||
private final ImdgId idGenerator;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Imdg<RiskParameter> riskParameterImdg;
|
||||
private final Imdg<CurrencyPairDictionary> currencyPairDictionaryImdg;
|
||||
|
||||
public RiskParameterFacade(ImdgProvider imdgProvider) {
|
||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||
this.imdgProvider = imdgProvider;
|
||||
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");
|
||||
RiskParameter riskParameter = new RiskParameter();
|
||||
|
||||
CurrencyPairDictionary currencyPairDictionary = currencyPairDictionaryImdg.getSingleObjectByID(request.getCurrencyPairId());
|
||||
riskParameter.setCurrencyPairId(request.getCurrencyPairId());
|
||||
riskParameter.setCurrencyPair(currencyPairDictionary.getCode());
|
||||
riskParameter.setSettlementType(request.getSettlementType());
|
||||
riskParameter.setValue(request.getValue());
|
||||
riskParameter.setWorkflowStatus(request.getStatus());
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public enum RatesValidationRule implements IValidationRule<ImdgValidationContext
|
|||
ImdgPredicateBuilder predicateBuilder = imdgDictionary.predicateBuilder();
|
||||
Rates rates = imdgDictionary.getFirstObjectByPredicate(
|
||||
predicateBuilder.and(
|
||||
predicateBuilder.equals("currencyPairId", action.getCurrencyId()),
|
||||
predicateBuilder.equals("currencyId", action.getCurrencyId()),
|
||||
predicateBuilder.equals("valueDate", action.getValueDate()),
|
||||
predicateBuilder.equals("workflowStatus", Status.Active.getKey())
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue