diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/OrderCurrencyListener.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/OrderCurrencyListener.java index 9f9d0b267..78d1ee01a 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/OrderCurrencyListener.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/OrderCurrencyListener.java @@ -182,7 +182,7 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing if (OvernightType.SWAP.equalsByKey(order.getOvernightType())) { Pair newSpotPair = swapToSpotSplit(order, rgs); log.info("deleting old OrderCurrency.id={}", order.getId()); - orderCurrencyImdg.delete(order); + reject(order); orderCurrencyImdg.insert(newSpotPair.getFirst()); orderCurrencyImdg.insert(newSpotPair.getSecond()); log.info("created OrderCurrency[{}, {}]", @@ -191,14 +191,20 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing OrderCurrency pairOrder = validator.getStored(OrderCurrencyValidationStored.OrderCurrencySpotPair); OrderCurrency newSwapOrder = spotToSwap(order, pairOrder, rgs); log.info("deleting old records OrderCurrency[{}, {}]", order.getId(), pairOrder.getId()); - orderCurrencyImdg.delete(order); - orderCurrencyImdg.delete(pairOrder); + reject(order); + reject(pairOrder); orderCurrencyImdg.insert(newSwapOrder); log.info("created OrderCurrency.id={}", newSwapOrder.getId()); } return null; } + private void reject(OrderCurrency o) { + o.setStatus(OrderStatus.REJECTED.getKey()); + o.setUpdated(Instant.now()); + orderCurrencyImdg.update(o); + } + private Pair swapToSpotSplit(OrderCurrency swap, Registry rgs) { OrderCurrency orderT0 = new OrderCurrency(); OrderCurrency orderT1 = new OrderCurrency();