This commit is contained in:
parent
8fe43dee98
commit
1ec2b25714
2 changed files with 11 additions and 14 deletions
|
|
@ -91,14 +91,15 @@ 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);
|
||||
RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AS_T)
|
||||
.prefix("object");
|
||||
ImdgPredicate registryPredicate;
|
||||
if (companyId == null) {
|
||||
registryPredicate = pb.sql(codeSql.build("object."));
|
||||
registryPredicate = pb.sql(codeSql.build());
|
||||
} else {
|
||||
registryPredicate = pb.and(
|
||||
pb.equals("object.companyId", companyId),
|
||||
pb.sql(codeSql.build("object."))
|
||||
pb.sql(codeSql.build())
|
||||
);
|
||||
}
|
||||
ImdgPredicate finalPredicate = pb.and(
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import java.util.stream.Collectors;
|
|||
public class RegistryCodeSqlBuilder {
|
||||
|
||||
private List<RegistryTradingParams> registryTradingParams;
|
||||
private String prefix = "";
|
||||
|
||||
public static RegistryCodeSqlBuilder getInstance(RegistryTradingParams... tradingParams) {
|
||||
return new RegistryCodeSqlBuilder(Arrays.asList(tradingParams));
|
||||
|
|
@ -21,9 +22,9 @@ public class RegistryCodeSqlBuilder {
|
|||
this.registryTradingParams = tradingParams;
|
||||
}
|
||||
|
||||
public String build(String prefix) {
|
||||
public String build() {
|
||||
List<StringBuilder> conditions = new ArrayList<>();
|
||||
final String REGISTRY_DESIGNATION_FORMAT = prefix + "registryDesignation = '%s'";
|
||||
final String REGISTRY_DESIGNATION_FORMAT = "%s.registryDesignation = '%%s'".formatted(prefix);
|
||||
final String REGISTRY_INSTRUMENT_TYPE_FORMAT = prefix + "registryInstrumentType = '%s'";
|
||||
final String REGISTRY_CAPACITY_FORMAT = prefix + "registryCapacity = '%s'";
|
||||
final String REGISTRY_UNIT_FORMAT = prefix + "registryUnit = '%s'";
|
||||
|
|
@ -66,12 +67,7 @@ public class RegistryCodeSqlBuilder {
|
|||
return conditions.stream().collect(Collectors.joining(") or (", "(", ")"));
|
||||
}
|
||||
|
||||
public String build() {
|
||||
return build("");
|
||||
}
|
||||
|
||||
|
||||
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb, String prefix) {
|
||||
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb) {
|
||||
List<ImdgPredicate> conditionsOr = new ArrayList<>();
|
||||
final String REGISTRY_DESIGNATION_FIELD = prefix + "registryDesignation";
|
||||
final String REGISTRY_INSTRUMENT_TYPE_FIELD = prefix + "registryInstrumentType";
|
||||
|
|
@ -100,8 +96,8 @@ public class RegistryCodeSqlBuilder {
|
|||
if (conditionsOr.size() == 1) return conditionsOr.get(0);
|
||||
return pb.or(conditionsOr.toArray(new ImdgPredicate[conditionsOr.size()]));
|
||||
}
|
||||
|
||||
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb) {
|
||||
return buildPredicate(pb, "");
|
||||
public RegistryCodeSqlBuilder prefix(String prefix) {
|
||||
this.prefix = prefix;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue