etreschenkov 2026-04-22 13:20:54 +03:00
parent 5b94202c1a
commit 145f4e97d6
2 changed files with 11 additions and 3 deletions

View file

@ -358,19 +358,24 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
continue;
}
orderCurrency.setStatus(status.getKey());
orderCurrency.setUpdated(Instant.now());
orderCurrencyImdg.update(orderCurrency);
}
}
private void updateByFix(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
for (Long orderId : payload.getIds()) {
SOrders sOrder = sOrdersImdg.getSingleObjectByID(orderId);
SOrders sOrder = sOrdersImdg.getSingleObjectByPredicate(
sOrdersImdg.predicateBuilder().equals("orderNum", orderId)
);
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(orderId);
OrderStatus status = resolveStatusByFixState(sOrder.getState());
if (status == null) {
continue;
}
orderCurrency.setStatus(status.getKey());
orderCurrency.setUpdated(Instant.now());
// orderCurrency.setUpdated(sOrder.getTradeDate());//todo
orderCurrencyImdg.update(orderCurrency);
}
}

View file

@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import quickfix.*;
import quickfix.field.*;
import quickfix.fix44.ExecutionReport;
import quickfix.fix44.MessageCracker;
import quickfix.fix44.NewOrderSingle;
import ru.clearing.classes.statics.data.misc.OrderCurrency;
import ru.clearing.classes.statics.data.misc.SOrders;
@ -105,9 +106,10 @@ public class Application extends MessageCracker implements quickfix.Application,
@Override
public void fromApp(Message message, SessionID sessionID) throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
log.trace("fromApp {}, [{}]: {}", sessionID, message.getClass(), message);
crack(message, sessionID);
}
public void onMessage(ExecutionReport executionReport) {
public void onMessage(ExecutionReport executionReport, SessionID sessionID) {
ImdgTransaction transaction = imdgProvider.newTransaction();
transaction.beginTransaction();
try {
@ -149,6 +151,7 @@ public class Application extends MessageCracker implements quickfix.Application,
sOrders.setAccount(account.getValue());
sOrders.setSettleCode(settlType.getValue());
sOrders.setPriceCurrency(currency.getValue());
sOrders.setState(String.valueOf(ordStatus.getValue()));
if (ordStatus.valueEquals(OrdStatus.NEW)) {
sOrders.setOrderDateTime(transactTime.getValue().toInstant(ZoneOffset.UTC));
@ -169,7 +172,7 @@ public class Application extends MessageCracker implements quickfix.Application,
//send message to df for update orderCurrency status
OrderCurrencyStatusUpdateRequest updateRequest = new OrderCurrencyStatusUpdateRequest();
updateRequest.addId(sOrders.getId());
updateRequest.addId(orderNum);
kafkaSender.sendRequestToQueue(Consts.ORDER_CURRENCY_STATUS_UPDATE_FIX, updateRequest);
}
}