http://jira.mfd.msk:8088/browse/CLS-188 правка предиката и выборки объектов, поправил логи
This commit is contained in:
parent
a9cc2752d0
commit
fa5aa2ea27
3 changed files with 5 additions and 20 deletions
|
|
@ -134,25 +134,9 @@ public class ExecutionDepositComponent {
|
|||
}
|
||||
}
|
||||
|
||||
// Необходимо проверять отсутствие ExecutionDeposit с exchangeExecutionId и clearingDate.
|
||||
// Необходимо проверять отсутствие ExecutionDeposit с exchangeExecutionId и clearingDate и side.
|
||||
// Но при этом, во время создания новых ExecutionDeposit по STrade, TradeNum могут повторяться.
|
||||
LocalDate today = LocalDate.now();
|
||||
HashSet<Long> existTradeNumsOfExecutionDeposit = new HashSet<>();
|
||||
{
|
||||
Set<Long> 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<ExecutionDeposit> 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) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
||||
<logger name="ru.spcex.clearing.service.Clearing" level="trace" additivity="false">
|
||||
<logger name="ru.spcex.clearing.service" level="trace" additivity="false">
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue