balance-service http://jira.mfd.msk:8088/browse/CLS-74 правильное обновление AccountBalanceService
This commit is contained in:
parent
b1cd2b7a0f
commit
4c687e8d59
1 changed files with 15 additions and 6 deletions
|
|
@ -35,7 +35,7 @@ public class AccountBalanceService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public AccountResult createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount,
|
public AccountResult createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount,
|
||||||
String cashMovementCurrencyCode) {
|
String cashMovementCurrencyCode) {
|
||||||
IValidator validator = validationFactory.apply(new AccountBalanceValidation(addresseeId, accountId));
|
IValidator validator = validationFactory.apply(new AccountBalanceValidation(addresseeId, accountId));
|
||||||
Optional<EnumMessage> validationError = validator
|
Optional<EnumMessage> validationError = validator
|
||||||
.tillFirstError();
|
.tillFirstError();
|
||||||
|
|
@ -66,14 +66,23 @@ public class AccountBalanceService {
|
||||||
return new AccountResult(accountBalance);
|
return new AccountResult(accountBalance);
|
||||||
} else {
|
} else {
|
||||||
accountBalance.setUpdated(Instant.now());
|
accountBalance.setUpdated(Instant.now());
|
||||||
accountBalance.setAccountId(accountId);
|
accountBalance.setAccountId(accountId);//+
|
||||||
accountBalance.setAccountType(account.getAccountType());
|
accountBalance.setAccountType(account.getAccountType());//++
|
||||||
accountBalance.setAccount(account.getAccount());
|
accountBalance.setAccount(account.getAccount());
|
||||||
accountBalance.setOpenBalanceAmount(amount);
|
// accountBalance.setOpenBalanceAmount();// на базе изменения statement по sDf16/sDf09): не меняется.
|
||||||
accountBalance.setFreeBalanceAmount(amount);
|
accountBalance.setFreeBalanceAmount(plus(accountBalance.getFreeBalanceAmount(), amount));
|
||||||
accountBalance.setBalanceAmount(amount);
|
accountBalance.setChangeBalanceAmount(plus(accountBalance.getChangeBalanceAmount(), amount));
|
||||||
|
accountBalance.setCreditAmount(plus(accountBalance.getCreditAmount(), amount));
|
||||||
|
accountBalance.setDebitAmount(plus(accountBalance.getDebitAmount(), amount));
|
||||||
|
accountBalance.setBalanceAmount(plus(accountBalance.getBalanceAmount(), amount));
|
||||||
accountBalance.setCurrencyCode(cashMovementCurrencyCode);
|
accountBalance.setCurrencyCode(cashMovementCurrencyCode);
|
||||||
return new AccountResult(accountBalance);
|
return new AccountResult(accountBalance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BigDecimal plus(BigDecimal a, BigDecimal b) {
|
||||||
|
if (a == null) return b;
|
||||||
|
if (b == null) return a;
|
||||||
|
return a.add(b);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue