This commit is contained in:
parent
62b847fcef
commit
cb03a62265
3 changed files with 11 additions and 11 deletions
|
|
@ -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;
|
|||
* <p>
|
||||
* 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;
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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<T extends SpcexObjectBase & WithSecuritySymbol> implements IValidationRule<ImdgValidationContext<WithSecuritySymbol>> {
|
||||
public class NotPresentBySecuritySymbol<T extends SpcexObjectBase & WithSecuritySymbol> implements IValidationRule<ImdgValidationContext<WithSecuritySymbol>> {
|
||||
private final String mapName;
|
||||
private final IErrorEnumId errorEnum;
|
||||
private final Class<T> clazz;
|
||||
|
||||
public NotPresentBySecuritySymbolAndWorkflowStatusActv(String mapName, IErrorEnumId errorEnum, Class<T> clazz) {
|
||||
public NotPresentBySecuritySymbol(String mapName, IErrorEnumId errorEnum, Class<T> clazz) {
|
||||
this.mapName = mapName;
|
||||
this.errorEnum = errorEnum;
|
||||
this.clazz = clazz;
|
||||
|
|
@ -32,9 +31,7 @@ public class NotPresentBySecuritySymbolAndWorkflowStatusActv<T extends SpcexObje
|
|||
if(!StringUtils.hasText(action.getSecuritySymbol())) {
|
||||
return of(SecuritiesError.RequiredFieldIsEmpty, "securitySymbol");
|
||||
}
|
||||
T object = imdg.getFirstObjectByFieldValues(Map.of(
|
||||
"securitySymbol", action.getSecuritySymbol(),
|
||||
"workflowStatus", WorkflowStatus.Active.getKey()));
|
||||
T object = imdg.getFirstObjectByFieldValues(Map.of("securitySymbol", action.getSecuritySymbol()));
|
||||
if (object != null) {
|
||||
return of(errorEnum, action.getSecuritySymbol());
|
||||
} else {
|
||||
Loading…
Add table
Reference in a new issue