From d6865f8395a3f8954f3fd9891b7b905d77bf9686 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 10 Jul 2024 18:02:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=20sdf01=20=D0=B8=20sdf52=20=D0=B2?= =?UTF-8?q?=20=D1=81=D0=BB=D1=83=D1=87=D0=B0=D0=B5=20=D0=B5=D1=81=D0=BB?= =?UTF-8?q?=D0=B8=20currencyId=20=D0=B8=D0=B7=20=D1=81=D1=87=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=20=3D=3D=20810,=20=D1=82=D0=BE=20=D1=8D=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20RUB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ClearingAccountService.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index f289d9900..05b4b0641 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -52,6 +52,7 @@ import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.enumeration.AccountStatus; import ru.spcex.platform.enumeration.AccountType; import ru.spcex.platform.enumeration.ClearingAccountType; +import ru.spcex.platform.enumeration.CurrencyCode; import ru.spcex.platform.enumeration.NotificationStatus; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; @@ -281,8 +282,15 @@ public class ClearingAccountService extends QueueConsumer implements Initializin Account account = new Account(); try { Long currencyId = Long.valueOf(accountReq.getAccount().substring(5, 8)); - Currency currency = currImdg.getSingleObjectByID(currencyId); - account.setCurrency(currency.getCurrencyCode()); + String currencyCode = CurrencyCode.RUB.getKey(); + if (!currencyId.equals(810L)){ + Currency currency = currImdg.getSingleObjectByID(currencyId); + currencyCode = currency != null ? currency.getCurrencyCode() : null; + } + if (currencyCode == null){ + throw new IllegalArgumentException("Not found currency by id " + currencyId); + } + account.setCurrency(currencyCode); } catch (Throwable e) { AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); responsePart.setSdfId(accountReq.getSdfId()); @@ -414,10 +422,18 @@ public class ClearingAccountService extends QueueConsumer implements Initializin if (accountValue.length() >= 7) { try { Long currencyId = Long.valueOf(accountValue.substring(5, 8)); - Currency currency = currImdg.getSingleObjectByID(currencyId); - account.setCurrency(currency.getCurrencyCode()); + String currencyCode = CurrencyCode.RUB.getKey(); + if (!currencyId.equals(810L)){ + Currency currency = currImdg.getSingleObjectByID(currencyId); + currencyCode = currency != null ? currency.getCurrencyCode() : null; + } + if (currencyCode == null){ + throw new IllegalArgumentException("Not found currency by id " + currencyId); + } + account.setCurrency(currencyCode); } catch (Throwable e) { log.trace("When obtain currency from accountValue: {}", e.toString()); + return null; } } if (TextUtil.isEmpty(account.getCurrency())) {