etreschenkov 2026-05-19 19:00:02 +03:00
parent 564bb58e2c
commit faf051a085

View file

@ -11,6 +11,7 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.validation.IValidationRule;
public class SpotPairPresent implements IValidationRule<ImdgValidationContext<OrderCurrencyUpdateRequest>> {
@ -19,6 +20,11 @@ public class SpotPairPresent implements IValidationRule<ImdgValidationContext<Or
@Override
public Optional<EnumMessage> validate(ImdgValidationContext<OrderCurrencyUpdateRequest> ctx) {
OrderCurrency oc = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency);
OrderStatus orderStatus = IEnumKey.getEnumByKey(OrderStatus.class, oc.getStatus());
if (OrderStatus.REJECTED == orderStatus || OrderStatus.FILL == orderStatus) {
return of(DefaultManagementErrors.OperationNotAllowed);
}
if (!OvernightType.SPOT.equalsByKey(oc.getOvernightType())) {
return empty();
}