trade-importer http://jira.mfd.msk:8088/browse/CLS-820 и CLS-821 поправил опциональные кавычки, убрал загрузку необязательного поля ClassName (в новой версии его нет)

This commit is contained in:
AKurakin 2025-03-27 13:50:00 +03:00
parent 81e19b36d2
commit 4be350ad19
4 changed files with 16 additions and 8 deletions

View file

@ -40,7 +40,7 @@ public class ExtDBImporterService {
private final Supplier<KafkaSender> kafka;
private final IMessageResolver messageResolver;
@Value("${extdb-importer.database.schema:dbo}")
@Value("${extdb-importer.database.schema:dbo}") // default: dbo for mssql, public for postgresql
private String schema;

View file

@ -10,9 +10,8 @@ extdb-importer.cron.load-from-db-cron=0 0/5 * * * ?
#extdb-importer.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
extdb-importer.database.login=clearing
extdb-importer.database.password=Aa111111
extdb-importer.database.schema=CBRInfo
#extdb-importer.database.schema=public
extdb-importer.database.url=jdbc:postgresql://10.200.200.133:5432/clearing?currentSchema=CBRInfo
extdb-importer.database.schema=public
extdb-importer.database.url=jdbc:postgresql://10.200.200.133:5432/clearing
extdb-importer.database.driver=org.postgresql.Driver
extdb-importer.hazelcast.cluster-members=127.0.0.1:5701

View file

@ -13,6 +13,7 @@ import java.time.Instant;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
@ -91,7 +92,15 @@ public class TradeImporterService {
AtomicLong minCreatedId = new AtomicLong(Long.MAX_VALUE);
final long logProgressTime = 60_000L; // интервал вывода в лог каждую минуту
AtomicLong logTime = new AtomicLong(System.currentTimeMillis() + logProgressTime);
String query = String.format("SELECT * FROM \"%s\".\"Trades\"", schema);
String query;
if (org.apache.commons.lang3.StringUtils.isEmpty(schema)) {
query = "SELECT * FROM \"Trades\"";
} else {
if (!schema.contains("\"") && !schema.toLowerCase(Locale.ROOT).equals(schema)) { // PostgreSQL style with quote
schema = "\"" + schema + "\"";
}
query = String.format("SELECT * FROM %s.\"Trades\"", schema);
}
log.debug("Load from DB STrades. Query: {}", query);
Instant currentInstant = Instant.now();
jdbcTemplate.query(query, resultSet -> {
@ -302,7 +311,7 @@ public class TradeImporterService {
sTrades.setFirmName(resultSet.getObject("FirmName", String.class));
sTrades.setCpFirmId(resultSet.getObject("CPFirmId", String.class));
sTrades.setCpFirmName(resultSet.getObject("CPFirmName", String.class));
sTrades.setClassName(resultSet.getObject("ClassName", String.class));
// sTrades.setClassName(resultSet.getString("ClassName")); в новой базе нет поля
sTrades.setSecName(resultSet.getObject("SecName", String.class));
sTrades.setSettleDate(getLocalDateFromSqlDate(resultSet, "SettleDate"));
sTrades.setSettleCurrency(resultSet.getObject("SettleCurrency", String.class));

View file

@ -10,8 +10,8 @@ trade-importer.cron.load-from-db-cron=0 0/5 * * * ?
#trade-importer.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
trade-importer.database.login=clearing
trade-importer.database.password=Aa111111
trade-importer.database.schema=CBRInfo
trade-importer.database.url=jdbc:postgresql://10.200.200.133:5432/clearing?currentSchema=CBRInfo
trade-importer.database.schema=public
trade-importer.database.url=jdbc:postgresql://10.200.200.133:5432/clearing
trade-importer.database.driver=org.postgresql.Driver
trade-importer.hazelcast.cluster-members=127.0.0.1:5701