From 73f2ed8650acc8b41e45d4ad0111d1b630d67d65 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 26 Jun 2024 15:58:17 +0300 Subject: [PATCH] fix building error: account.account was incorect for id < 100 --- .../clearing/account/service/InformationAccountService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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