From 73ae82d6082c7c4d7e574c8204c11997c14c82b8 Mon Sep 17 00:00:00 2001 From: kapcake Date: Mon, 15 May 2023 20:53:20 +0200 Subject: [PATCH] Extracting some methods for better readability --- .../services/PaymentService.java | 30 +++++++++++-------- .../bankingservice/services/UserService.java | 15 ++++++---- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/main/java/net/kapcake/bankingservice/services/PaymentService.java b/src/main/java/net/kapcake/bankingservice/services/PaymentService.java index ab56820..0049a88 100644 --- a/src/main/java/net/kapcake/bankingservice/services/PaymentService.java +++ b/src/main/java/net/kapcake/bankingservice/services/PaymentService.java @@ -95,23 +95,27 @@ public class PaymentService { String beneficiaryAccountNumber = paymentFilter.getBeneficiaryAccountNumber(); LocalDateTime startDate = paymentFilter.getStartDate(); LocalDateTime endDate = paymentFilter.getEndDate(); - filteredPayments = userPayments.stream().filter(payment -> { - boolean filter = true; - if (beneficiaryAccountNumber != null) { - filter &= payment.getBeneficiaryAccountNumber().equals(beneficiaryAccountNumber); - } - if (startDate != null) { - filter &= !payment.getCreationDate().isBefore(startDate); - } - if (endDate != null) { - filter &= !payment.getCreationDate().isAfter(endDate); - } - return filter; - }).collect(Collectors.toList()); + filteredPayments = userPayments.stream() + .filter(payment -> applyFilter(beneficiaryAccountNumber, startDate, endDate, payment)) + .collect(Collectors.toList()); } return filteredPayments; } + private static boolean applyFilter(String beneficiaryAccountNumber, LocalDateTime startDate, LocalDateTime endDate, Payment payment) { + boolean filter = true; + if (beneficiaryAccountNumber != null) { + filter &= payment.getBeneficiaryAccountNumber().equals(beneficiaryAccountNumber); + } + if (startDate != null) { + filter &= !payment.getCreationDate().isBefore(startDate); + } + if (endDate != null) { + filter &= !payment.getCreationDate().isAfter(endDate); + } + return filter; + } + public void deletePayment(UserDetailsImpl authenticatedUser, Long id) { List userBankAccounts = bankAccountRepository.findAllByUsers_username(authenticatedUser.getUsername()); Payment payment = paymentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("A payment with the given id does not exist")); diff --git a/src/main/java/net/kapcake/bankingservice/services/UserService.java b/src/main/java/net/kapcake/bankingservice/services/UserService.java index 024420f..44cf084 100644 --- a/src/main/java/net/kapcake/bankingservice/services/UserService.java +++ b/src/main/java/net/kapcake/bankingservice/services/UserService.java @@ -18,10 +18,19 @@ public class UserService { } public boolean updateUser(UserDetailsImpl authenticatedUser, UserUpdateRequest userUpdateRequest) { - boolean needsLogout = false; User user = userRepository.findByUsername(authenticatedUser.getUsername()).orElseThrow(); User.UserBuilder builder = user.toBuilder(); + boolean needsLogout = applyUpdateToBuilderAndDecideIfNeedsLogout(userUpdateRequest, builder); + + User updatedUser = builder.build(); + userRepository.save(updatedUser); + + return needsLogout; + } + + private boolean applyUpdateToBuilderAndDecideIfNeedsLogout(UserUpdateRequest userUpdateRequest, User.UserBuilder builder) { + boolean needsLogout = false; if (userUpdateRequest.getCountry() != null) { builder.country(userUpdateRequest.getCountry()); } @@ -41,10 +50,6 @@ public class UserService { builder.password(passwordEncoder.encode(userUpdateRequest.getPassword())); needsLogout = true; } - - User updatedUser = builder.build(); - userRepository.save(updatedUser); - return needsLogout; } }