#11 Add possibility to specify booking date at recurring transaction booking

This commit is contained in:
2021-09-01 13:17:36 +02:00
parent ddec50eca8
commit 2cb7589b96
13 changed files with 116 additions and 74 deletions

View File

@@ -80,15 +80,15 @@ public class RecurringTransactionController {
}
@RequestMapping("createTransaction")
public ResponseEntity createTransaction(String recurringTransactionId, Long amount) {
public ResponseEntity createTransaction(String recurringTransactionId, Long amount, String date) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(String
.format("/recurringTransactions/createTransaction got parameters: %s, %s",
recurringTransactionId, amount));
.format("/recurringTransactions/createTransaction got parameters: %s, %s, %s",
recurringTransactionId, amount, date));
}
final ResponseReason responseReason = this.recurringTransactionService
.createTransaction(recurringTransactionId, Optional.ofNullable(amount));
.createTransaction(recurringTransactionId, Optional.ofNullable(amount), Optional.ofNullable(date));
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(String

View File

@@ -475,7 +475,7 @@ public class RecurringTransactionService {
}
@Transactional(propagation = Propagation.REQUIRED)
public ResponseReason createTransaction(String recurringTransactionId, Optional<Long> amount) {
public ResponseReason createTransaction(String recurringTransactionId, Optional<Long> amount, Optional<String> date) {
if (recurringTransactionId == null) {
return ResponseReason.MISSING_RECURRING_TRANSACTION_ID;
} else if (!NumberUtils.isCreatable(recurringTransactionId)) {
@@ -494,7 +494,7 @@ public class RecurringTransactionService {
return this.transactionService.createTransaction(recurringTransaction.getFromAccount().getKey(),
recurringTransaction.getToAccount().getKey(),
amount.orElseGet(recurringTransaction::getAmount),
LocalDate.now().format(DateTimeFormatter.ofPattern(this.financerConfig.getDateFormat())),
date.orElse(LocalDate.now().format(DateTimeFormatter.ofPattern(this.financerConfig.getDateFormat()))),
recurringTransaction.getDescription(),
recurringTransaction,
recurringTransaction.isTaxRelevant(),