ialbert 2023-02-02 15:44:35 +03:00
parent 8e78759713
commit 21d5fd0004

View file

@ -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);
}