diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java index 781ae04ba..846988843 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java @@ -316,6 +316,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali * @return infoCounter++ */ public synchronized Long accountNextId(String currency, Long currencyCodeId) { + String idWithTrailingZero = String.format("%03d", currencyCodeId); if (currency == null) currency = CurrencyCode.RUB.getKey(); // default AtomicLong infoCounter = infoCounterByCurrency.get(currency); @@ -338,7 +339,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali infoCounter = new AtomicLong(1); log.debug("No account information on map. n={}", infoCounter.get()); } else { - Pattern accPattern = Pattern.compile("39911%d([0-9]{8})7000".formatted(currencyCodeId)); + Pattern accPattern = Pattern.compile("39911%s([0-9]{8})7000".formatted(idWithTrailingZero)); int maxN = 1; int parsedCount = 0; String lastAccount = null; // for debug