Убрал дубликат EndDtAfterStartDt.
This commit is contained in:
parent
09c0ab342b
commit
21db7fb5bd
4 changed files with 21 additions and 59 deletions
|
|
@ -6,6 +6,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteReques
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*;
|
||||||
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
import ru.spcex.clearing.securities.validation.rule.*;
|
import ru.spcex.clearing.securities.validation.rule.*;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.EndDtAfterStartDtRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -58,7 +59,11 @@ public class ValidationProvider {
|
||||||
context.addImdg(IMDGDistributedNames.Map_TermTypeDictionary, termTypeDictionaryImdg);
|
context.addImdg(IMDGDistributedNames.Map_TermTypeDictionary, termTypeDictionaryImdg);
|
||||||
context.addImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, currencyCodeDictionaryImdg);
|
context.addImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, currencyCodeDictionaryImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
EndDtAfterStartDt.instance(MoneyMarketSecurityNewRequest.class),
|
EndDtAfterStartDtRule.instance("startDate", "endDate",
|
||||||
|
MoneyMarketSecurityNewRequest::getStartDate,
|
||||||
|
MoneyMarketSecurityNewRequest::getEndDate,
|
||||||
|
SecuritiesError.RequiredFieldIsEmpty,
|
||||||
|
SecuritiesError.WrongFieldValue),
|
||||||
new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentAlreadyExists, MoneyMarketSecurityNewRequest.class),
|
new NotPresentBySecuritySymbolAndWorkflowStatusActv(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentAlreadyExists, MoneyMarketSecurityNewRequest.class),
|
||||||
new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "RATE"),
|
new IsValidInstrumentTypeFromRequest(SecuritiesError.RequiredFieldIsEmpty, "RATE"),
|
||||||
MmsNewValidationRule.RequiredFieldIsNotEmpty,
|
MmsNewValidationRule.RequiredFieldIsNotEmpty,
|
||||||
|
|
@ -82,7 +87,11 @@ public class ValidationProvider {
|
||||||
context.addImdg(IMDGDistributedNames.Map_TermTypeDictionary, termTypeDictionaryImdg);
|
context.addImdg(IMDGDistributedNames.Map_TermTypeDictionary, termTypeDictionaryImdg);
|
||||||
context.addImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, currencyCodeDictionaryImdg);
|
context.addImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, currencyCodeDictionaryImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
EndDtAfterStartDt.instance(MoneyMarketSecurityUpdateRequest.class),
|
EndDtAfterStartDtRule.instance("startDate", "endDate",
|
||||||
|
MoneyMarketSecurityUpdateRequest::getStartDate,
|
||||||
|
MoneyMarketSecurityUpdateRequest::getEndDate,
|
||||||
|
SecuritiesError.RequiredFieldIsEmpty,
|
||||||
|
SecuritiesError.WrongFieldValue),
|
||||||
new PresentById(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentNotFound, true),
|
new PresentById(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentNotFound, true),
|
||||||
new IsValidInstrumentTypeById(SecuritiesError.InstrumentNotFound, "RATE"),
|
new IsValidInstrumentTypeById(SecuritiesError.InstrumentNotFound, "RATE"),
|
||||||
new WorkflowStatusActv(),
|
new WorkflowStatusActv(),
|
||||||
|
|
@ -250,6 +259,11 @@ public class ValidationProvider {
|
||||||
context.setValidatedObject(currencyRequest);
|
context.setValidatedObject(currencyRequest);
|
||||||
context.addImdg(IMDGDistributedNames.Map_CouponPeriod, couponPeriodImdg);
|
context.addImdg(IMDGDistributedNames.Map_CouponPeriod, couponPeriodImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
|
EndDtAfterStartDtRule.instance("periodStartDate", "periodEndDate",
|
||||||
|
CouponPeriodNewRequest::getPeriodStartDate,
|
||||||
|
CouponPeriodNewRequest::getPeriodEndDate,
|
||||||
|
SecuritiesError.RequiredFieldIsEmpty,
|
||||||
|
SecuritiesError.WrongFieldValue, false),
|
||||||
CouponPeriodNewValidationRule.CouponPeriodNotExists
|
CouponPeriodNewValidationRule.CouponPeriodNotExists
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
@ -261,6 +275,11 @@ public class ValidationProvider {
|
||||||
context.setValidatedObject(currencyRequest);
|
context.setValidatedObject(currencyRequest);
|
||||||
context.addImdg(IMDGDistributedNames.Map_CouponPeriod, couponPeriodImdg);
|
context.addImdg(IMDGDistributedNames.Map_CouponPeriod, couponPeriodImdg);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
|
EndDtAfterStartDtRule.instance("periodStartDate", "periodEndDate",
|
||||||
|
CouponPeriodUpdateRequest::getPeriodStartDate,
|
||||||
|
CouponPeriodUpdateRequest::getPeriodEndDate,
|
||||||
|
SecuritiesError.RequiredFieldIsEmpty,
|
||||||
|
SecuritiesError.WrongFieldValue, false),
|
||||||
CouponPeriodUpdateValidationRule.CouponPeriodExists
|
CouponPeriodUpdateValidationRule.CouponPeriodExists
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -26,17 +26,6 @@ public enum CouponPeriodNewValidationRule implements IValidationRule<ImdgValidat
|
||||||
if (couponPeriod != null) {
|
if (couponPeriod != null) {
|
||||||
return of(SecuritiesError.CouponPeriodAlreadyExists, "securityId");
|
return of(SecuritiesError.CouponPeriodAlreadyExists, "securityId");
|
||||||
}
|
}
|
||||||
if (action.getPeriodEndDate() == null && action.getPeriodStartDate() == null) {
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodEndDate", "periodStartDate");
|
|
||||||
}
|
|
||||||
if (action.getPeriodEndDate() == null || action.getPeriodStartDate() == null) {
|
|
||||||
if (action.getPeriodStartDate() == null)
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodStartDate");
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodEndDate");
|
|
||||||
}
|
|
||||||
if (action.getPeriodEndDate().isBefore(action.getPeriodStartDate())) {
|
|
||||||
return of(SecuritiesError.WrongFieldValue, "periodEndDate", "periodStartDate");
|
|
||||||
}
|
|
||||||
return empty();
|
return empty();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -26,17 +26,6 @@ public enum CouponPeriodUpdateValidationRule implements IValidationRule<ImdgVali
|
||||||
if (currency == null) {
|
if (currency == null) {
|
||||||
return of(SecuritiesError.CouponPeriodNotFound, "securityId");
|
return of(SecuritiesError.CouponPeriodNotFound, "securityId");
|
||||||
}
|
}
|
||||||
if (action.getPeriodEndDate() == null && action.getPeriodStartDate() == null) {
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodEndDate", "periodStartDate");
|
|
||||||
}
|
|
||||||
if (action.getPeriodEndDate() == null || action.getPeriodStartDate() == null) {
|
|
||||||
if (action.getPeriodStartDate() == null)
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodStartDate");
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "periodEndDate");
|
|
||||||
}
|
|
||||||
if (action.getPeriodEndDate().isBefore(action.getPeriodStartDate())) {
|
|
||||||
return of(SecuritiesError.WrongFieldValue, "periodEndDate", "periodStartDate");
|
|
||||||
}
|
|
||||||
return empty();
|
return empty();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
package ru.spcex.clearing.securities.validation.rule;
|
|
||||||
|
|
||||||
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
|
||||||
import ru.spcex.platform.classes.base.interfaces.WithEndDt;
|
|
||||||
import ru.spcex.platform.classes.base.interfaces.WithStartDt;
|
|
||||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|
||||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
public class EndDtAfterStartDt<T extends WithStartDt & WithEndDt> implements IValidationRule<ImdgValidationContext<T>> {
|
|
||||||
|
|
||||||
public EndDtAfterStartDt() {}
|
|
||||||
|
|
||||||
public static <T1 extends WithStartDt & WithEndDt> EndDtAfterStartDt<T1> instance(Class<T1> clazz) {
|
|
||||||
return new EndDtAfterStartDt<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Optional<EnumMessage> validate(ImdgValidationContext<T> context) {
|
|
||||||
T validatedObject = context.getValidatedObject();
|
|
||||||
if(validatedObject.getEndDate() == null && validatedObject.getStartDate() == null) {
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "endDate", "startDate");
|
|
||||||
}
|
|
||||||
if(validatedObject.getEndDate() == null || validatedObject.getStartDate() == null){
|
|
||||||
if(validatedObject.getStartDate() == null) return of(SecuritiesError.RequiredFieldIsEmpty, "startDate");
|
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "endDate");
|
|
||||||
}
|
|
||||||
if (validatedObject.getEndDate().isBefore(validatedObject.getStartDate())) {
|
|
||||||
return of(SecuritiesError.WrongFieldValue, "endDate");
|
|
||||||
}
|
|
||||||
return empty();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue