diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java index 49d06d171..2b9160b21 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java @@ -3,6 +3,7 @@ package ru.clearing.classes.statics.data.security; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; import ru.spcex.platform.classes.base.interfaces.WithInstrumentType; +import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol; import ru.spcex.platform.classes.base.interfaces.WithWorkflowStatus; /** @@ -10,7 +11,7 @@ import ru.spcex.platform.classes.base.interfaces.WithWorkflowStatus; *

* DB table: SECURITY **/ -public class Security extends BusinessObject implements WithWorkflowStatus, WithInstrumentType { +public class Security extends BusinessObject implements WithWorkflowStatus, WithInstrumentType, WithSecuritySymbol { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private String instrumentType; diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/ValidationProvider.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/ValidationProvider.java index 39d2ebd8b..0e529f5b8 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/ValidationProvider.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/ValidationProvider.java @@ -1,12 +1,14 @@ package ru.spcex.clearing.securities.validation; import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; +import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; +import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*; import ru.spcex.clearing.securities.errors.SecuritiesError; import ru.spcex.clearing.securities.validation.rule.*; -import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule; import ru.spcex.clearing.validation.common.rules.EndDtAfterStartDtRule; import ru.spcex.clearing.validation.common.rules.FieldRequiredRule; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -68,7 +70,7 @@ public class ValidationProvider { SecuritiesError.RequiredFieldIsEmpty, SecuritiesError.WrongFieldValue, false), - new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentAlreadyExists, MoneyMarketSecurityNewRequest.class), + new NotPresentBySecuritySymbol<>(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentAlreadyExists, MoneyMarketSecurity.class), new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "RATE"), MmsNewValidationRule.RequiredFieldIsNotEmpty, new HaveValidCompanyId<>(MoneyMarketSecurityNewRequest::getIssuerId, "issuerId", false), @@ -131,7 +133,7 @@ public class ValidationProvider { context.addImdg(IMDGDistributedNames.Map_WorkflowStatusDictionary, workflowStatusDictionaryImdg); context.addImdg(IMDGDistributedNames.Map_ShareTypeDictionary, shareTypeDictionaryImdg); return new ValidatorImpl<>(context, - new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_EquitySecurity, SecuritiesError.InstrumentAlreadyExists, EquitySecurityNewRequest.class), + new NotPresentBySecuritySymbol<>(IMDGDistributedNames.Map_EquitySecurity, SecuritiesError.InstrumentAlreadyExists, EquitySecurity.class), new IsValidInstrumentTypeFromRequest(SecuritiesError.WrongFieldValue, InstrumentType.EQTY.getKey()), EquityNewValidationRule.RequiredFieldIsNotEmpty, new HaveValidCompanyId<>(EquitySecurityNewRequest::getIssuerId, "issuerId", false), @@ -184,7 +186,7 @@ public class ValidationProvider { context.addImdg(IMDGDistributedNames.Map_BondTypeDictionary, bondTypeDictionaryImdg); context.addImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, currencyCodeDictionaryImdg); return new ValidatorImpl<>(context, - new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_FixedIncomeSecurity, SecuritiesError.InstrumentAlreadyExists, FixedIncomeSecurityNewRequest.class), + new NotPresentBySecuritySymbol<>(IMDGDistributedNames.Map_FixedIncomeSecurity, SecuritiesError.InstrumentAlreadyExists, FixedIncomeSecurity.class), new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "BOND"), FixedIncomeNewValidationRule.RequiredFieldIsNotEmpty, new HaveValidCompanyId<>(FixedIncomeSecurityNewRequest::getIssuerId, "issuerId", false), diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbol.java similarity index 71% rename from clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java rename to clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbol.java index d6a93a4fb..ad2a9370e 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbol.java @@ -4,7 +4,6 @@ import org.springframework.util.StringUtils; import ru.spcex.clearing.securities.errors.SecuritiesError; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol; -import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.enumeration.EnumMessage; @@ -14,12 +13,12 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Map; import java.util.Optional; -public class NotPresentBySecuritySymbolAndWorkflowStatusActv implements IValidationRule> { +public class NotPresentBySecuritySymbol implements IValidationRule> { private final String mapName; private final IErrorEnumId errorEnum; private final Class clazz; - public NotPresentBySecuritySymbolAndWorkflowStatusActv(String mapName, IErrorEnumId errorEnum, Class clazz) { + public NotPresentBySecuritySymbol(String mapName, IErrorEnumId errorEnum, Class clazz) { this.mapName = mapName; this.errorEnum = errorEnum; this.clazz = clazz; @@ -32,9 +31,7 @@ public class NotPresentBySecuritySymbolAndWorkflowStatusActv