securities-service http://jira.mfd.msk:8088/browse/CLS-16 validation delete

This commit is contained in:
AKurakin 2023-01-13 20:35:46 +03:00
parent f85baa9800
commit 592b2cd02f
3 changed files with 36 additions and 2 deletions

View file

@ -7,6 +7,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSe
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityUpdateRequest;
import ru.spcex.clearing.securities.errors.SecuritiesError;
import ru.spcex.clearing.securities.validation.rule.EndDtAfterStartDt;
import ru.spcex.clearing.securities.validation.rule.MmsDeleteValidationRule;
import ru.spcex.clearing.securities.validation.rule.MmsNewValidationRule;
import ru.spcex.clearing.securities.validation.rule.MmsUpdateValidationRule;
import ru.spcex.platform.classes.base.SpcexObjectBase;
@ -59,7 +60,8 @@ public class ValidationProvider {
context.setValidatedObject(mmsRequest);
context.addImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, mmsMap);
return new ValidatorImpl<>(context,
new PresentById(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentNotFound, true)
new PresentById(IMDGDistributedNames.Map_MoneyMarketSecurity, SecuritiesError.InstrumentNotFound, true),
MmsDeleteValidationRule.StatusIsActive
);
};
}

View file

@ -0,0 +1,32 @@
package ru.spcex.clearing.securities.validation.rule;
import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity;
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityUpdateRequest;
import ru.spcex.clearing.securities.errors.SecuritiesError;
import ru.spcex.platform.enumeration.Status;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.imdg.validation.Stored;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
public enum MmsDeleteValidationRule implements IValidationRule<ImdgValidationContext<MoneyMarketSecurityUpdateRequest>> {
StatusIsActive() {
@Override
public Optional<EnumMessage> validate(ImdgValidationContext<MoneyMarketSecurityUpdateRequest> context) {
MoneyMarketSecurity mms = context.getStoredObject(Stored.PresentById);
//проверка только если PresentById найдет объект и сохранит его
if (mms != null && !Status.Active.getKey().equals(mms.getWorkflowStatus())) {
return of(SecuritiesError.InstrumentNotActive);
} else {
return empty();
}
}
};
@Override
public String ruleName() {
return "MmsDeleteValidationRule." + name();
}
}

View file

@ -27,6 +27,6 @@ public enum MmsUpdateValidationRule implements IValidationRule<ImdgValidationCon
@Override
public String ruleName() {
return "MmsNewValidationRule." + name();
return "MmsUpdateValidationRule." + name();
}
}