From 868540ffa3ec83c947a9d098ef00c5a80915b17c Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 10 Oct 2024 16:24:27 +0300 Subject: [PATCH] account service bug fix --- .../ru/spcex/clearing/account/service/AccountService.java | 2 +- .../account/service/InformationAccountService.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java index 5e00c9c7e..5bf66bbee 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java @@ -169,7 +169,7 @@ public class AccountService extends QueueConsumer implements InitializingBean { specialAnltAccId = anltAccount.getAccount().substring(anltAccount.getAccount().length() - 4); } - Long infoSequenceId = informationAccountService.accountNextId(currencyCode, currencyCodeId, specialAnltAccId); + Long infoSequenceId = informationAccountService.accountNextId(currencyCode, currencyCodeId); String accountValue = informationAccountService.generateInfoAccount(currencyCodeId, infoSequenceId, specialAnltAccId); log.trace("New info-account SequenceId={} account={}", infoSequenceId, accountValue); account.setAccount(accountValue); 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 e234cada2..705d05e3b 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 @@ -237,7 +237,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali specialAnltAccId = anltAccount.getAccount().substring(anltAccount.getAccount().length() - 4); } Long newId = informationAccountImdg.nextIDSequenceFor(); - Long infoSequenceId = accountNextId(currency, 810L, "7000"); // требуется последовательность n+1 + Long infoSequenceId = accountNextId(currency, 810L); // требуется последовательность n+1 String accountValue = generateInfoAccount(810L, infoSequenceId, specialAnltAccId); log.trace("New info-account id={}, sequenceId={}, account={}", newId, infoSequenceId, accountValue); @@ -309,7 +309,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali } public synchronized Long accountNextId(String currency) { - return accountNextId(currency, 810L, "7000"); + return accountNextId(currency, 810L); } /** @@ -318,7 +318,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali * @param * @return infoCounter++ */ - public synchronized Long accountNextId(String currency, Long currencyCodeId, String specialAnltAccId) { + public synchronized Long accountNextId(String currency, Long currencyCodeId) { String idWithTrailingZero = String.format("%03d", currencyCodeId); if (currency == null) currency = CurrencyCode.RUB.getKey(); // default @@ -342,7 +342,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%s([0-9]{8})" + specialAnltAccId).formatted(idWithTrailingZero)); + Pattern accPattern = Pattern.compile("39911%s([0-9]{8})\\d".formatted(idWithTrailingZero)); int maxN = 1; int parsedCount = 0; String lastAccount = null; // for debug