Merge remote-tracking branch 'origin/CLS-741' into dev

This commit is contained in:
AKurakin 2024-08-22 17:59:22 +03:00
commit 41d1c3c261

View file

@ -8,6 +8,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import ru.clearing.classes.statics.data.misc.BlacklistMarket;
import ru.clearing.classes.statics.data.misc.Market;
import ru.clearing.classes.statics.data.misc.STrades;
import ru.clearing.classes.statics.data.scheduler.ClearingCalendar;
@ -47,6 +48,7 @@ public class TradeImporterService {
private final Imdg<STrades> sTradesImdg;
private final Imdg<Market> marketImdg;
private final Imdg<ClearingCalendar> clearingCalendarImdg;
private final Imdg<BlacklistMarket> blacklistMarketImdg;
private final JdbcTemplate jdbcTemplate;
private final Supplier<KafkaSender> kafka;
private final IMessageResolver messageResolver;
@ -60,6 +62,7 @@ public class TradeImporterService {
this.sTradesImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_STrades, STrades.class);
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
this.clearingCalendarImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingCalendar, ClearingCalendar.class);
this.blacklistMarketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_BlacklistMarket, BlacklistMarket.class);
this.jdbcTemplate = jdbcTemplate;
this.kafka = kafka;
this.messageResolver = messageResolver;
@ -157,7 +160,9 @@ public class TradeImporterService {
try {
Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(tradesDb.getClassCode()));
if (market == null) {
logErr.accept("couldn't find market.section for classCode " + tradesDb.getClassCode());
if (blacklistMarketImdg.getFirstObjectByFieldValues(Map.of("code", tradesDb.getClassCode())) == null) {
logErr.accept("couldn't find market.section for classCode " + tradesDb.getClassCode());
}
return false;
}
tradesDb.setSection(market.getSection());