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