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) {
|
private ImdgPredicate getPredicateForRegistries(Long companyId) {
|
||||||
Instant now = Instant.now().truncatedTo(ChronoUnit.DAYS);
|
Instant now = Instant.now().truncatedTo(ChronoUnit.DAYS);
|
||||||
ImdgPredicateBuilder pb = registryHistoryMap.predicateBuilder();
|
ImdgPredicateBuilder pb = registryHistoryMap.predicateBuilder();
|
||||||
RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AS_T);
|
RegistryCodeSqlBuilder codeSql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AS_T)
|
||||||
|
.prefix("object");
|
||||||
ImdgPredicate registryPredicate;
|
ImdgPredicate registryPredicate;
|
||||||
if (companyId == null) {
|
if (companyId == null) {
|
||||||
registryPredicate = pb.sql(codeSql.build("object."));
|
registryPredicate = pb.sql(codeSql.build());
|
||||||
} else {
|
} else {
|
||||||
registryPredicate = pb.and(
|
registryPredicate = pb.and(
|
||||||
pb.equals("object.companyId", companyId),
|
pb.equals("object.companyId", companyId),
|
||||||
pb.sql(codeSql.build("object."))
|
pb.sql(codeSql.build())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
ImdgPredicate finalPredicate = pb.and(
|
ImdgPredicate finalPredicate = pb.and(
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import java.util.stream.Collectors;
|
||||||
public class RegistryCodeSqlBuilder {
|
public class RegistryCodeSqlBuilder {
|
||||||
|
|
||||||
private List<RegistryTradingParams> registryTradingParams;
|
private List<RegistryTradingParams> registryTradingParams;
|
||||||
|
private String prefix = "";
|
||||||
|
|
||||||
public static RegistryCodeSqlBuilder getInstance(RegistryTradingParams... tradingParams) {
|
public static RegistryCodeSqlBuilder getInstance(RegistryTradingParams... tradingParams) {
|
||||||
return new RegistryCodeSqlBuilder(Arrays.asList(tradingParams));
|
return new RegistryCodeSqlBuilder(Arrays.asList(tradingParams));
|
||||||
|
|
@ -21,9 +22,9 @@ public class RegistryCodeSqlBuilder {
|
||||||
this.registryTradingParams = tradingParams;
|
this.registryTradingParams = tradingParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String build(String prefix) {
|
public String build() {
|
||||||
List<StringBuilder> conditions = new ArrayList<>();
|
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_INSTRUMENT_TYPE_FORMAT = prefix + "registryInstrumentType = '%s'";
|
||||||
final String REGISTRY_CAPACITY_FORMAT = prefix + "registryCapacity = '%s'";
|
final String REGISTRY_CAPACITY_FORMAT = prefix + "registryCapacity = '%s'";
|
||||||
final String REGISTRY_UNIT_FORMAT = prefix + "registryUnit = '%s'";
|
final String REGISTRY_UNIT_FORMAT = prefix + "registryUnit = '%s'";
|
||||||
|
|
@ -66,12 +67,7 @@ public class RegistryCodeSqlBuilder {
|
||||||
return conditions.stream().collect(Collectors.joining(") or (", "(", ")"));
|
return conditions.stream().collect(Collectors.joining(") or (", "(", ")"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String build() {
|
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb) {
|
||||||
return build("");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb, String prefix) {
|
|
||||||
List<ImdgPredicate> conditionsOr = new ArrayList<>();
|
List<ImdgPredicate> conditionsOr = new ArrayList<>();
|
||||||
final String REGISTRY_DESIGNATION_FIELD = prefix + "registryDesignation";
|
final String REGISTRY_DESIGNATION_FIELD = prefix + "registryDesignation";
|
||||||
final String REGISTRY_INSTRUMENT_TYPE_FIELD = prefix + "registryInstrumentType";
|
final String REGISTRY_INSTRUMENT_TYPE_FIELD = prefix + "registryInstrumentType";
|
||||||
|
|
@ -100,8 +96,8 @@ public class RegistryCodeSqlBuilder {
|
||||||
if (conditionsOr.size() == 1) return conditionsOr.get(0);
|
if (conditionsOr.size() == 1) return conditionsOr.get(0);
|
||||||
return pb.or(conditionsOr.toArray(new ImdgPredicate[conditionsOr.size()]));
|
return pb.or(conditionsOr.toArray(new ImdgPredicate[conditionsOr.size()]));
|
||||||
}
|
}
|
||||||
|
public RegistryCodeSqlBuilder prefix(String prefix) {
|
||||||
public ImdgPredicate buildPredicate(ImdgPredicateBuilder pb) {
|
this.prefix = prefix;
|
||||||
return buildPredicate(pb, "");
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue