Extracting some methods for better readability

This commit is contained in:
2023-05-15 20:53:20 +02:00
parent 5bafef54f3
commit 73ae82d608
2 changed files with 27 additions and 18 deletions

View File

@@ -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<BankAccount> userBankAccounts = bankAccountRepository.findAllByUsers_username(authenticatedUser.getUsername());
Payment payment = paymentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("A payment with the given id does not exist"));

View File

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