securities-service http://jira.mfd.msk:8088/browse/CLS-326 часть правок
This commit is contained in:
parent
bd8af7fc16
commit
f4517b7736
1 changed files with 21 additions and 5 deletions
|
|
@ -2,12 +2,15 @@ package ru.spcex.clearing.securities.validation;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.clearing.classes.statics.data.misc.Listing;
|
import ru.clearing.classes.statics.data.misc.Listing;
|
||||||
|
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateUpdateRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*;
|
||||||
import ru.spcex.clearing.util.security.SecuritySelector;
|
import ru.spcex.clearing.util.security.SecuritySelector;
|
||||||
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.SpecialIdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.SpecialIdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.InstrumentType;
|
import ru.spcex.platform.enumeration.InstrumentType;
|
||||||
|
|
@ -72,7 +75,7 @@ public class ListingValidationProvider {
|
||||||
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
new PresentById(IMDGDistributedNames.Map_Listing, SecuritiesError.ListingNotFound, true),
|
new PresentById(IMDGDistributedNames.Map_Listing, SecuritiesError.ListingNotFound, true),
|
||||||
new SecurityIdPresentRule<ListingNewRequest>("securityId", ListingNewRequest::getSecurityId,
|
new SecurityIdPresentRule<ListingUpdateRequest>("securityId", ListingUpdateRequest::getSecurityId,
|
||||||
(Security security) ->
|
(Security security) ->
|
||||||
InstrumentType.RATE.equalsByKey(security.getInstrumentType()) ? SecuritiesError.ListingOnMMSCreatedBySystem : null
|
InstrumentType.RATE.equalsByKey(security.getInstrumentType()) ? SecuritiesError.ListingOnMMSCreatedBySystem : null
|
||||||
)
|
)
|
||||||
|
|
@ -86,10 +89,23 @@ public class ListingValidationProvider {
|
||||||
context.setValidatedObject(listingRequest);
|
context.setValidatedObject(listingRequest);
|
||||||
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
new PresentById(IMDGDistributedNames.Map_Listing, SecuritiesError.ListingNotFound, true),
|
IdPresentRule.instance("id",
|
||||||
new SecurityIdPresentRule<ListingNewRequest>("securityId", ListingNewRequest::getSecurityId,
|
CommonDeleteRequest::getId,
|
||||||
(Security security) ->
|
IMDGDistributedNames.Map_Listing,
|
||||||
InstrumentType.RATE.equalsByKey(security.getInstrumentType()) ? SecuritiesError.ListingOnMMSCreatedBySystem : null
|
Listing.class,
|
||||||
|
SecuritiesError.RequiredFieldIsEmpty,
|
||||||
|
SecuritiesError.ListingNotFound,
|
||||||
|
true,
|
||||||
|
(Listing listing) -> {
|
||||||
|
if (listing.getSecurityId() == null)
|
||||||
|
return null;
|
||||||
|
Security security = securitySelector.selectSecurityById(listing.getSecurityId());
|
||||||
|
if (security != null) {
|
||||||
|
if (InstrumentType.RATE.equalsByKey(security.getInstrumentType()))
|
||||||
|
return SecuritiesError.ListingOnMMSCreatedBySystem;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue