securities-service поправил валидаторы (в соответствии с метой)
This commit is contained in:
parent
5e5133b580
commit
602604aa81
3 changed files with 47 additions and 22 deletions
|
|
@ -64,14 +64,15 @@ public class ValidationProvider {
|
|||
MoneyMarketSecurityNewRequest::getStartDate,
|
||||
MoneyMarketSecurityNewRequest::getEndDate,
|
||||
SecuritiesError.RequiredFieldIsEmpty,
|
||||
SecuritiesError.WrongFieldValue),
|
||||
SecuritiesError.WrongFieldValue,
|
||||
false),
|
||||
new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentAlreadyExists, MoneyMarketSecurityNewRequest.class),
|
||||
new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "RATE"),
|
||||
MmsNewValidationRule.RequiredFieldIsNotEmpty,
|
||||
new HaveValidCompanyId<>(MoneyMarketSecurityNewRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, MoneyMarketSecurityNewRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, MoneyMarketSecurityNewRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_TermTypeDictionary, MoneyMarketSecurityNewRequest::getTermType, "termType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, MoneyMarketSecurityNewRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_TermTypeDictionary, MoneyMarketSecurityNewRequest::getTermType, "termType", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, MoneyMarketSecurityNewRequest::getNominalCurrency, "nominalCurrency")
|
||||
);
|
||||
};
|
||||
|
|
@ -92,15 +93,16 @@ public class ValidationProvider {
|
|||
MoneyMarketSecurityUpdateRequest::getStartDate,
|
||||
MoneyMarketSecurityUpdateRequest::getEndDate,
|
||||
SecuritiesError.RequiredFieldIsEmpty,
|
||||
SecuritiesError.WrongFieldValue),
|
||||
SecuritiesError.WrongFieldValue,
|
||||
false),
|
||||
new PresentById(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentNotFound, true),
|
||||
new IsValidInstrumentTypeById(SecuritiesError.InstrumentNotFound, "RATE"),
|
||||
new WorkflowStatusActv(),
|
||||
new HaveValidCompanyId<>(MoneyMarketSecurityUpdateRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCompanyId<>(MoneyMarketSecurityUpdateRequest::getIssuerId, "issuerId", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, MoneyMarketSecurityUpdateRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, MoneyMarketSecurityUpdateRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_TermTypeDictionary, MoneyMarketSecurityUpdateRequest::getTermType, "termType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, MoneyMarketSecurityUpdateRequest::getNominalCurrency, "nominalCurrency")
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, MoneyMarketSecurityUpdateRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_TermTypeDictionary, MoneyMarketSecurityUpdateRequest::getTermType, "termType", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, MoneyMarketSecurityUpdateRequest::getNominalCurrency, "nominalCurrency", false)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
@ -133,8 +135,8 @@ public class ValidationProvider {
|
|||
EquityNewValidationRule.RequiredFieldIsNotEmpty,
|
||||
new HaveValidCompanyId<>(EquitySecurityNewRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, EquitySecurityNewRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, EquitySecurityNewRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_ShareTypeDictionary, EquitySecurityNewRequest::getShareType, "shareType"));
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, EquitySecurityNewRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_ShareTypeDictionary, EquitySecurityNewRequest::getShareType, "shareType", false));
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -151,10 +153,10 @@ public class ValidationProvider {
|
|||
new PresentById(IMDGDistributedNames.Map_EquitySecurity, SecuritiesError.InstrumentNotFound, true),
|
||||
new IsValidInstrumentTypeById(SecuritiesError.InstrumentNotFound, "EQTY"),
|
||||
new WorkflowStatusActv(),
|
||||
new HaveValidCompanyId<>(EquitySecurityUpdateRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCompanyId<>(EquitySecurityUpdateRequest::getIssuerId, "issuerId", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, EquitySecurityUpdateRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, EquitySecurityUpdateRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_ShareTypeDictionary, EquitySecurityUpdateRequest::getShareType, "shareType"));
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, EquitySecurityUpdateRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_ShareTypeDictionary, EquitySecurityUpdateRequest::getShareType, "shareType", false));
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -185,11 +187,11 @@ public class ValidationProvider {
|
|||
new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_FixedIncomeSecurity, SecuritiesError.InstrumentAlreadyExists, FixedIncomeSecurityNewRequest.class),
|
||||
new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "BOND"),
|
||||
FixedIncomeNewValidationRule.RequiredFieldIsNotEmpty,
|
||||
new HaveValidCompanyId<>(FixedIncomeSecurityNewRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCompanyId<>(FixedIncomeSecurityNewRequest::getIssuerId, "issuerId", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, FixedIncomeSecurityNewRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, FixedIncomeSecurityNewRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_BondTypeDictionary, FixedIncomeSecurityNewRequest::getBondType, "bondType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, FixedIncomeSecurityNewRequest::getNominalCurrency, "nominalCurrency")
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, FixedIncomeSecurityNewRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_BondTypeDictionary, FixedIncomeSecurityNewRequest::getBondType, "bondType", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, FixedIncomeSecurityNewRequest::getNominalCurrency, "nominalCurrency", false)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
@ -211,9 +213,9 @@ public class ValidationProvider {
|
|||
new WorkflowStatusActv(),
|
||||
new HaveValidCompanyId<>(FixedIncomeSecurityUpdateRequest::getIssuerId, "issuerId"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, FixedIncomeSecurityUpdateRequest::getInstrumentType, "instrumentType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, FixedIncomeSecurityUpdateRequest::getWorkflowStatus, "workflowStatus"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_BondTypeDictionary, FixedIncomeSecurityUpdateRequest::getBondType, "bondType"),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, FixedIncomeSecurityUpdateRequest::getNominalCurrency, "nominalCurrency")
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_WorkflowStatusDictionary, FixedIncomeSecurityUpdateRequest::getWorkflowStatus, "workflowStatus", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_BondTypeDictionary, FixedIncomeSecurityUpdateRequest::getBondType, "bondType", false),
|
||||
new HaveValidCodeByDictionary<>(IMDGDistributedNames.Map_CurrencyCodeDictionary, FixedIncomeSecurityUpdateRequest::getNominalCurrency, "nominalCurrency", false)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,21 +12,33 @@ import java.util.Map;
|
|||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Deprecated // use common validator
|
||||
public class HaveValidCodeByDictionary<R> implements IValidationRule<ImdgValidationContext<R>> {
|
||||
String mapName;
|
||||
String errArg;
|
||||
Function<R, String> codeGetter;
|
||||
boolean required;
|
||||
public HaveValidCodeByDictionary(String mapName, Function<R, String> codeGetter, String errArg, boolean required) {
|
||||
this.mapName = mapName;
|
||||
this.codeGetter = codeGetter;
|
||||
this.errArg = errArg;
|
||||
this.required = required;
|
||||
}
|
||||
public HaveValidCodeByDictionary(String mapName, Function<R, String> codeGetter, String errArg) {
|
||||
this.mapName = mapName;
|
||||
this.codeGetter = codeGetter;
|
||||
this.errArg = errArg;
|
||||
this.required = true;
|
||||
}
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<R> context) {
|
||||
R validatedObject = context.getValidatedObject();
|
||||
String code = codeGetter.apply(validatedObject);
|
||||
if(!StringUtils.hasText(code)) {
|
||||
return of(SecuritiesError.RequiredFieldIsEmpty, errArg);
|
||||
if (required)
|
||||
return of(SecuritiesError.RequiredFieldIsEmpty, errArg);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
Imdg<SpcexObjectBase> imdgDictionary = context.obtainMap(mapName, SpcexObjectBase.class);
|
||||
SpcexObjectBase dictionary = imdgDictionary.getSingleObjectByFieldValues(Map.of(
|
||||
|
|
|
|||
|
|
@ -11,19 +11,30 @@ import ru.spcex.platform.utils.validation.IValidationRule;
|
|||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Deprecated // use common validator
|
||||
public class HaveValidCompanyId<R> implements IValidationRule<ImdgValidationContext<R>> {
|
||||
Function<R, Long> idGetter;
|
||||
String errArg;
|
||||
boolean required;
|
||||
public HaveValidCompanyId(Function<R, Long> idGetter, String errArg, boolean required) {
|
||||
this.idGetter = idGetter;
|
||||
this.errArg = errArg;
|
||||
this.required=required;
|
||||
}
|
||||
public HaveValidCompanyId(Function<R, Long> idGetter, String errArg) {
|
||||
this.idGetter = idGetter;
|
||||
this.errArg = errArg;
|
||||
this.required=true;
|
||||
}
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<R> context) {
|
||||
R validatedObject = context.getValidatedObject();
|
||||
Long id = idGetter.apply(validatedObject);
|
||||
if(id == null) {
|
||||
return of(SecuritiesError.RequiredFieldIsEmpty, errArg);
|
||||
if (required)
|
||||
return of(SecuritiesError.RequiredFieldIsEmpty, errArg);
|
||||
else
|
||||
return empty();
|
||||
}
|
||||
Imdg<SpcexObjectBase> imdgDictionary = context.obtainMap(IMDGDistributedNames.Map_Company, SpcexObjectBase.class);
|
||||
SpcexObjectBase dictionary = imdgDictionary.getSingleObjectByID(id);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue