From fa5aa2ea270e174015fc9af5481bcae3d60a9e46 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 8 Feb 2023 13:19:28 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-188=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=BF=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0=D1=82=D0=B0=20=D0=B8=20=D0=B2=D1=8B=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B8=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D0=B2,=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BB=D0=BE=D0=B3=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ExecutionDepositComponent.java | 21 +++---------------- .../src/main/resources/logback.xml | 2 +- .../ImdgPredicateBuilderHazelcast.java | 2 +- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java index 1655d46a9..56f44c003 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java @@ -134,25 +134,9 @@ public class ExecutionDepositComponent { } } - // Необходимо проверять отсутствие ExecutionDeposit с exchangeExecutionId и clearingDate. + // Необходимо проверять отсутствие ExecutionDeposit с exchangeExecutionId и clearingDate и side. // Но при этом, во время создания новых ExecutionDeposit по STrade, TradeNum могут повторяться. LocalDate today = LocalDate.now(); - HashSet existTradeNumsOfExecutionDeposit = new HashSet<>(); - { - Set tradeNums = sTrades.stream().map(STrade::getTradeNum).filter(Objects::nonNull).collect(Collectors.toSet()); - log.debug("Check {} s_trade tradeNum=[{}] on date {}", sTrades.size(), tradeNums, today); - ImdgPredicateBuilder pb = executionDepositImdg.predicateBuilder(); - Collection existsEDeposit = executionDepositImdg.getCollectionObjectsByPredicate( - pb.and( - pb.in("exchangeExecutionId", tradeNums.toArray(new Comparable[0])), - pb.equals("clearingDate", today) - ) -// Map.of("exchangeExecutionId", trade.getTradeNum(),"clearingDate", today) - ); - for (ExecutionDeposit ed : existsEDeposit) { - existTradeNumsOfExecutionDeposit.add(ed.getExchangeExecutionId()); - } - } for (STrade trade : sTrades) { log.trace("Check s_trade[{}].tradeNum={} operation={} on date {}", trade.getId(), trade.getTradeNum(), trade.getOperation(), today); @@ -185,7 +169,7 @@ public class ExecutionDepositComponent { // "clearingDate", today // )); existEDeposit = !existsEDeposit.isEmpty(); - log.trace("Check exist, SQL \"{}\", found {}, exist {}", predicate, existsEDeposit.size(), existEDeposit); + log.trace("Check exist ExecutionDeposit, SQL \"{}\", found {}, exist {}", predicate, existsEDeposit.size(), existEDeposit); } if (!existEDeposit) { @@ -203,6 +187,7 @@ public class ExecutionDepositComponent { newED = createExecutionDeposit(trade, null, null); executionDepositImdg.insert(newED); sendNotification(newED); + log.debug("New executionDeposit.id={} was created.", newED.getId()); } catch (ClearingException ce) { auditMessage(ce); } catch (Exception e) { diff --git a/clearing-parent/clearing-service/src/main/resources/logback.xml b/clearing-parent/clearing-service/src/main/resources/logback.xml index e2702c011..39d4ebcaa 100644 --- a/clearing-parent/clearing-service/src/main/resources/logback.xml +++ b/clearing-parent/clearing-service/src/main/resources/logback.xml @@ -35,7 +35,7 @@ - + diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java index a512122b1..944dba3ae 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java @@ -60,7 +60,7 @@ public class ImdgPredicateBuilderHazelcast implements ImdgPredicateBuilder { public ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC) { ImdgPredicateHazelcast paramAMy = (ImdgPredicateHazelcast) paramA; ImdgPredicateHazelcast paramBMy = (ImdgPredicateHazelcast) paramB; - ImdgPredicateHazelcast paramCMy = (ImdgPredicateHazelcast) paramB; + ImdgPredicateHazelcast paramCMy = (ImdgPredicateHazelcast) paramC; return new ImdgPredicateHazelcast(Predicates.and(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate, paramCMy.hazelcastPredicate)); }