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;
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue