diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java index 4825ffb64..5be5d136b 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java @@ -104,7 +104,6 @@ public class AccountBalanceService { } else if (category.equals(ClearingCategory.B)) { updateAccountCategoryBClrn(req.getAccountId(), req.getCompanyId(), req.getFirstLegAmount()); } - //todo send message success to Kafka } private ClearingCategory getClearingCategoryByCompanyId(Long companyId) { @@ -117,18 +116,19 @@ public class AccountBalanceService { private void updateAccountCategoryIClrn(Long accountId, Long companyId, BigDecimal firstLegAmount) { AccountBalance accountBalance = loadAccountBalance(accountId, companyId, AccountType.Clrn); BigDecimal previousFreeBalanceAmount = accountBalance.getFreeBalanceAmount(); - BigDecimal resultFreeBalanceAmount = previousFreeBalanceAmount.subtract(firstLegAmount); - accountBalance.setFreeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setChangeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setBalanceAmount(resultFreeBalanceAmount); + BigDecimal previousChangeBalanceAmount = accountBalance.getChangeBalanceAmount(); + BigDecimal previousBalanceAmount = accountBalance.getBalanceAmount(); + accountBalance.setFreeBalanceAmount(previousFreeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setChangeBalanceAmount(previousChangeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setBalanceAmount(previousBalanceAmount.subtract(firstLegAmount)); accountBalance.setUpdated(Instant.now()); accountBalanceImdg.update(accountBalance); } private void updateAccountCategoryITran(BigDecimal firstLegAmount) { AccountBalance accountBalance = loadAccountBalance(AccountType.Tran); - BigDecimal freeBalanceAmount = accountBalance.getFreeBalanceAmount(); - accountBalance.setFreeBalanceAmount(freeBalanceAmount.add(firstLegAmount.abs())); + BigDecimal previousDebitAmount = accountBalance.getDebitAmount(); + accountBalance.setDebitAmount(previousDebitAmount.add(firstLegAmount.abs())); accountBalance.setUpdated(Instant.now()); accountBalanceImdg.update(accountBalance); } @@ -136,10 +136,11 @@ public class AccountBalanceService { private void updateAccountCategoryVInfo(Long accountId, Long companyId, BigDecimal firstLegAmount) { AccountBalance accountBalance = loadAccountBalance(accountId, companyId, AccountType.Info); BigDecimal previousFreeBalanceAmount = accountBalance.getFreeBalanceAmount(); - BigDecimal resultFreeBalanceAmount = previousFreeBalanceAmount.subtract(firstLegAmount); - accountBalance.setFreeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setChangeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setBalanceAmount(resultFreeBalanceAmount); + BigDecimal changeBalanceAmount = accountBalance.getChangeBalanceAmount(); + BigDecimal balanceAmount = accountBalance.getBalanceAmount(); + accountBalance.setFreeBalanceAmount(previousFreeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setChangeBalanceAmount(changeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setBalanceAmount(balanceAmount.subtract(firstLegAmount)); accountBalance.setUpdated(Instant.now()); accountBalanceImdg.update(accountBalance); } @@ -147,18 +148,19 @@ public class AccountBalanceService { private void updateAccountCategoryVAnlt(BigDecimal firstLegAmount) { AccountBalance accountBalance = loadAccountBalance(AccountType.Anlt); BigDecimal previousFreeBalanceAmount = accountBalance.getFreeBalanceAmount(); - BigDecimal resultFreeBalanceAmount = previousFreeBalanceAmount.subtract(firstLegAmount); - accountBalance.setFreeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setChangeBalanceAmount(resultFreeBalanceAmount); - accountBalance.setBalanceAmount(resultFreeBalanceAmount); + BigDecimal previousChangeBalanceAmount = accountBalance.getChangeBalanceAmount(); + BigDecimal previousBalanceAmount = accountBalance.getBalanceAmount(); + accountBalance.setFreeBalanceAmount(previousFreeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setChangeBalanceAmount(previousChangeBalanceAmount.subtract(firstLegAmount)); + accountBalance.setBalanceAmount(previousBalanceAmount.subtract(firstLegAmount)); accountBalance.setUpdated(Instant.now()); accountBalanceImdg.update(accountBalance); } private void updateAccountCategoryBClrn(Long accountId, Long companyId, BigDecimal firstLegAmount) { AccountBalance accountBalance = loadAccountBalance(accountId, companyId, AccountType.Clrn); - BigDecimal freeBalanceAmount = accountBalance.getFreeBalanceAmount(); - accountBalance.setDebitAmount(plus(freeBalanceAmount, firstLegAmount.abs())); + BigDecimal debitAmount = accountBalance.getDebitAmount(); + accountBalance.setDebitAmount(plus(debitAmount, firstLegAmount.abs())); accountBalance.setUpdated(Instant.now()); accountBalanceImdg.update(accountBalance); }