akulikov 2023-12-07 18:52:46 +03:00
parent 2a81e33b78
commit 49b3191a63
5 changed files with 19 additions and 6 deletions

View file

@ -89,6 +89,7 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial
}
private ImdgPredicate getPredicateForRegistries(Long companyId) {
Instant now = Instant.now().truncatedTo(ChronoUnit.DAYS);
ImdgPredicateBuilder pb = registryHistoryMap.predicateBuilder();
RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AS_T);
ImdgPredicate registryPredicate;
@ -102,11 +103,11 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial
}
ImdgPredicate finalPredicate = pb.and(
registryPredicate,
pb.equals("object.diffBalance", 0),
pb.zero("object.diffBalance"),
pb.notNull("object.tradingClearingRegistry"),
pb.and(
pb.greatEqual("eventTime", Instant.now().truncatedTo(ChronoUnit.DAYS)),
pb.less("eventTime", Instant.now().plus(1, ChronoUnit.DAYS))
pb.greatEqual("eventTime", now),
pb.less("eventTime", now.plus(1, ChronoUnit.DAYS))
)
);

View file

@ -98,6 +98,7 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
}
protected ImdgPredicate getSqlForRegistryHistory(Long companyId) {
Instant now = Instant.now().truncatedTo(ChronoUnit.DAYS);
ImdgPredicateBuilder pb = registryHistoryMap.predicateBuilder();
RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AM_T);
ImdgPredicate registryPredicate;
@ -111,11 +112,11 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
}
ImdgPredicate finalPredicate = pb.and(
registryPredicate,
pb.equals("object.diffBalance", 0),
pb.zero("object.diffBalance"),
pb.notNull("object.tradingClearingRegistry"),
pb.and(
pb.greatEqual("eventTime", Instant.now().truncatedTo(ChronoUnit.DAYS)),
pb.less("eventTime", Instant.now().plus(1, ChronoUnit.DAYS))
pb.greatEqual("eventTime", now),
pb.less("eventTime", now.plus(1, ChronoUnit.DAYS))
)
);

View file

@ -112,4 +112,9 @@ public class ImdgPredicateBuilderHazelcast implements ImdgPredicateBuilder {
public ImdgPredicate alwaysFalse() {
return new ImdgPredicateHazelcast(Predicates.alwaysFalse());
}
@Override
public ImdgPredicate zero(String key) {
return new ImdgPredicateHazelcast(Predicates.between(key, -0.000000000001, 0.000000000001));
}
}

View file

@ -22,4 +22,5 @@ public interface ImdgPredicateBuilder {
ImdgPredicate alwaysTrue();
ImdgPredicate alwaysFalse();
ImdgPredicate zero(String key);
}

View file

@ -105,6 +105,11 @@ public class ImdgPredicateBuilderSqlMock implements ImdgPredicateBuilder {
return sql("false");
}
@Override
public ImdgPredicate zero(String key) {
return sql(key + " > -0.0000000000001 and " + key + " < 0.0000000000001");
}
static class SimpleSQLPredicate implements ImdgPredicate {
protected String sql;