diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index 42a708c67..8fe3292ed 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -63,20 +63,30 @@ public class TradeImporterService { Instant currentInstant = Instant.now(); log.debug("load from DB STrades: {}", tradesFromDB.size()); + int created = 0; + int updated = 0; for (STrades tradesDb : tradesFromDB) { if (isValidTrades(tradesDb)) { STrades sTrades = getSTradesFromImdg(tradesDb, sTradesImdg); if (sTrades != null) { + // Обновление всех полей объекта из БД tradesDb.setId(sTrades.getId()); + tradesDb.setCreated(sTrades.getCreated()); tradesDb.setUpdated(currentInstant); + sTradesImdg.update(tradesDb); + updated++; } else { + // Создание объекта из БД tradesDb.setCreated(currentInstant); + tradesDb.setUpdated(currentInstant); + sTradesImdg.insert(tradesDb); + created++; } - sTradesImdg.insert(tradesDb); } else { log.warn(messageResolver.resolve(new EnumMessage(sTradesNotValid, tradesDb.getTradeNum()))); } } + log.debug("Created {} new STrades, {} updated.", created, updated); if (byCommand) { log.debug("Successfully import STrades from DB by command. Send to kafka command, topic={}", S_TRADES_IMPORTED);