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 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.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
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.util.security.SecuritySelector;
|
||||
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.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.InstrumentType;
|
||||
|
|
@ -72,7 +75,7 @@ public class ListingValidationProvider {
|
|||
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
||||
return new ValidatorImpl<>(context,
|
||||
new PresentById(IMDGDistributedNames.Map_Listing, SecuritiesError.ListingNotFound, true),
|
||||
new SecurityIdPresentRule<ListingNewRequest>("securityId", ListingNewRequest::getSecurityId,
|
||||
new SecurityIdPresentRule<ListingUpdateRequest>("securityId", ListingUpdateRequest::getSecurityId,
|
||||
(Security security) ->
|
||||
InstrumentType.RATE.equalsByKey(security.getInstrumentType()) ? SecuritiesError.ListingOnMMSCreatedBySystem : null
|
||||
)
|
||||
|
|
@ -86,10 +89,23 @@ public class ListingValidationProvider {
|
|||
context.setValidatedObject(listingRequest);
|
||||
context.addImdg(IMDGDistributedNames.Map_Listing, listingImdg);
|
||||
return new ValidatorImpl<>(context,
|
||||
new PresentById(IMDGDistributedNames.Map_Listing, SecuritiesError.ListingNotFound, true),
|
||||
new SecurityIdPresentRule<ListingNewRequest>("securityId", ListingNewRequest::getSecurityId,
|
||||
(Security security) ->
|
||||
InstrumentType.RATE.equalsByKey(security.getInstrumentType()) ? SecuritiesError.ListingOnMMSCreatedBySystem : null
|
||||
IdPresentRule.instance("id",
|
||||
CommonDeleteRequest::getId,
|
||||
IMDGDistributedNames.Map_Listing,
|
||||
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