This commit is contained in:
parent
5b94202c1a
commit
145f4e97d6
2 changed files with 11 additions and 3 deletions
|
|
@ -358,19 +358,24 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
orderCurrency.setStatus(status.getKey());
|
orderCurrency.setStatus(status.getKey());
|
||||||
|
orderCurrency.setUpdated(Instant.now());
|
||||||
orderCurrencyImdg.update(orderCurrency);
|
orderCurrencyImdg.update(orderCurrency);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void updateByFix(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
private void updateByFix(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
||||||
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
||||||
for (Long orderId : payload.getIds()) {
|
for (Long orderId : payload.getIds()) {
|
||||||
SOrders sOrder = sOrdersImdg.getSingleObjectByID(orderId);
|
SOrders sOrder = sOrdersImdg.getSingleObjectByPredicate(
|
||||||
|
sOrdersImdg.predicateBuilder().equals("orderNum", orderId)
|
||||||
|
);
|
||||||
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(orderId);
|
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(orderId);
|
||||||
OrderStatus status = resolveStatusByFixState(sOrder.getState());
|
OrderStatus status = resolveStatusByFixState(sOrder.getState());
|
||||||
if (status == null) {
|
if (status == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
orderCurrency.setStatus(status.getKey());
|
orderCurrency.setStatus(status.getKey());
|
||||||
|
orderCurrency.setUpdated(Instant.now());
|
||||||
|
// orderCurrency.setUpdated(sOrder.getTradeDate());//todo
|
||||||
orderCurrencyImdg.update(orderCurrency);
|
orderCurrencyImdg.update(orderCurrency);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
|
||||||
import quickfix.*;
|
import quickfix.*;
|
||||||
import quickfix.field.*;
|
import quickfix.field.*;
|
||||||
import quickfix.fix44.ExecutionReport;
|
import quickfix.fix44.ExecutionReport;
|
||||||
|
import quickfix.fix44.MessageCracker;
|
||||||
import quickfix.fix44.NewOrderSingle;
|
import quickfix.fix44.NewOrderSingle;
|
||||||
import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
||||||
import ru.clearing.classes.statics.data.misc.SOrders;
|
import ru.clearing.classes.statics.data.misc.SOrders;
|
||||||
|
|
@ -105,9 +106,10 @@ public class Application extends MessageCracker implements quickfix.Application,
|
||||||
@Override
|
@Override
|
||||||
public void fromApp(Message message, SessionID sessionID) throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
|
public void fromApp(Message message, SessionID sessionID) throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
|
||||||
log.trace("fromApp {}, [{}]: {}", sessionID, message.getClass(), message);
|
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();
|
ImdgTransaction transaction = imdgProvider.newTransaction();
|
||||||
transaction.beginTransaction();
|
transaction.beginTransaction();
|
||||||
try {
|
try {
|
||||||
|
|
@ -149,6 +151,7 @@ public class Application extends MessageCracker implements quickfix.Application,
|
||||||
sOrders.setAccount(account.getValue());
|
sOrders.setAccount(account.getValue());
|
||||||
sOrders.setSettleCode(settlType.getValue());
|
sOrders.setSettleCode(settlType.getValue());
|
||||||
sOrders.setPriceCurrency(currency.getValue());
|
sOrders.setPriceCurrency(currency.getValue());
|
||||||
|
sOrders.setState(String.valueOf(ordStatus.getValue()));
|
||||||
|
|
||||||
if (ordStatus.valueEquals(OrdStatus.NEW)) {
|
if (ordStatus.valueEquals(OrdStatus.NEW)) {
|
||||||
sOrders.setOrderDateTime(transactTime.getValue().toInstant(ZoneOffset.UTC));
|
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
|
//send message to df for update orderCurrency status
|
||||||
OrderCurrencyStatusUpdateRequest updateRequest = new OrderCurrencyStatusUpdateRequest();
|
OrderCurrencyStatusUpdateRequest updateRequest = new OrderCurrencyStatusUpdateRequest();
|
||||||
updateRequest.addId(sOrders.getId());
|
updateRequest.addId(orderNum);
|
||||||
kafkaSender.sendRequestToQueue(Consts.ORDER_CURRENCY_STATUS_UPDATE_FIX, updateRequest);
|
kafkaSender.sendRequestToQueue(Consts.ORDER_CURRENCY_STATUS_UPDATE_FIX, updateRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue