From 93fc004c29f6906fa8ccbe7d37cd191cc8941d39 Mon Sep 17 00:00:00 2001 From: mmarkelov Date: Thu, 7 May 2026 15:53:31 +0300 Subject: [PATCH] fix NewOrderSingle side --- .../clearing/fix/quickfix/Application.java | 48 +++++-------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/clearing-parent/fix-service/src/main/java/ru/spcex/clearing/fix/quickfix/Application.java b/clearing-parent/fix-service/src/main/java/ru/spcex/clearing/fix/quickfix/Application.java index 84f036ad1..243488ed6 100644 --- a/clearing-parent/fix-service/src/main/java/ru/spcex/clearing/fix/quickfix/Application.java +++ b/clearing-parent/fix-service/src/main/java/ru/spcex/clearing/fix/quickfix/Application.java @@ -1,47 +1,13 @@ package ru.spcex.clearing.fix.quickfix; -import java.math.BigDecimal; -import java.time.Instant; -import java.time.ZoneOffset; -import java.util.regex.Pattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import quickfix.ConfigError; -import quickfix.DoNotSend; -import quickfix.FieldNotFound; -import quickfix.IncorrectDataFormat; -import quickfix.IncorrectTagValue; -import quickfix.LogFactory; -import quickfix.Message; -import quickfix.MessageFactory; -import quickfix.MessageStoreFactory; -import quickfix.RejectLogon; -import quickfix.Session; -import quickfix.SessionID; -import quickfix.SessionNotFound; -import quickfix.SessionSettings; -import quickfix.SocketInitiator; -import quickfix.StringField; -import quickfix.UnsupportedMessageType; -import quickfix.field.Account; -import quickfix.field.ClOrdID; -import quickfix.field.ContraBroker; -import quickfix.field.ExDestination; -import quickfix.field.HandlInst; -import quickfix.field.OrdStatus; -import quickfix.field.OrdType; -import quickfix.field.OrderQty; -import quickfix.field.Price; -import quickfix.field.SecurityID; -import quickfix.field.SecurityIDSource; -import quickfix.field.SettlType; -import quickfix.field.Side; -import quickfix.field.Text; -import quickfix.field.TransactTime; +import quickfix.*; +import quickfix.field.*; import quickfix.fix44.ExecutionReport; import quickfix.fix44.MessageCracker; import quickfix.fix44.NewOrderSingle; @@ -55,6 +21,11 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgTransaction; +import java.math.BigDecimal; +import java.time.Instant; +import java.time.ZoneOffset; +import java.util.regex.Pattern; + @Service public class Application extends MessageCracker implements quickfix.Application, InitializingBean, DisposableBean { private static final Logger log = LoggerFactory.getLogger(Application.class); @@ -218,7 +189,10 @@ public class Application extends MessageCracker implements quickfix.Application, try { NewOrderSingle newOrderSingle = new NewOrderSingle(); newOrderSingle.set(new ClOrdID(String.valueOf(orderCurrency.getId()))); - newOrderSingle.set(new Side(Side.BUY)); + if (ru.spcex.platform.enumeration.Side.BUY.equalsByKey(orderCurrency.getSide())) + newOrderSingle.set(new Side(Side.BUY)); + else if (ru.spcex.platform.enumeration.Side.SELL.equalsByKey(orderCurrency.getSide())) + newOrderSingle.set(new Side(Side.SELL)); newOrderSingle.set(new OrdType('R')); newOrderSingle.set(new Price(orderCurrency.getPrice().doubleValue())); newOrderSingle.set(new Account(orderCurrency.getAccount()));