Extracting some methods for better readability
This commit is contained in:
@@ -95,23 +95,27 @@ public class PaymentService {
|
|||||||
String beneficiaryAccountNumber = paymentFilter.getBeneficiaryAccountNumber();
|
String beneficiaryAccountNumber = paymentFilter.getBeneficiaryAccountNumber();
|
||||||
LocalDateTime startDate = paymentFilter.getStartDate();
|
LocalDateTime startDate = paymentFilter.getStartDate();
|
||||||
LocalDateTime endDate = paymentFilter.getEndDate();
|
LocalDateTime endDate = paymentFilter.getEndDate();
|
||||||
filteredPayments = userPayments.stream().filter(payment -> {
|
filteredPayments = userPayments.stream()
|
||||||
boolean filter = true;
|
.filter(payment -> applyFilter(beneficiaryAccountNumber, startDate, endDate, payment))
|
||||||
if (beneficiaryAccountNumber != null) {
|
.collect(Collectors.toList());
|
||||||
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());
|
|
||||||
}
|
}
|
||||||
return filteredPayments;
|
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) {
|
public void deletePayment(UserDetailsImpl authenticatedUser, Long id) {
|
||||||
List<BankAccount> userBankAccounts = bankAccountRepository.findAllByUsers_username(authenticatedUser.getUsername());
|
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"));
|
Payment payment = paymentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("A payment with the given id does not exist"));
|
||||||
|
|||||||
@@ -18,10 +18,19 @@ public class UserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateUser(UserDetailsImpl authenticatedUser, UserUpdateRequest userUpdateRequest) {
|
public boolean updateUser(UserDetailsImpl authenticatedUser, UserUpdateRequest userUpdateRequest) {
|
||||||
boolean needsLogout = false;
|
|
||||||
User user = userRepository.findByUsername(authenticatedUser.getUsername()).orElseThrow();
|
User user = userRepository.findByUsername(authenticatedUser.getUsername()).orElseThrow();
|
||||||
User.UserBuilder builder = user.toBuilder();
|
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) {
|
if (userUpdateRequest.getCountry() != null) {
|
||||||
builder.country(userUpdateRequest.getCountry());
|
builder.country(userUpdateRequest.getCountry());
|
||||||
}
|
}
|
||||||
@@ -41,10 +50,6 @@ public class UserService {
|
|||||||
builder.password(passwordEncoder.encode(userUpdateRequest.getPassword()));
|
builder.password(passwordEncoder.encode(userUpdateRequest.getPassword()));
|
||||||
needsLogout = true;
|
needsLogout = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
User updatedUser = builder.build();
|
|
||||||
userRepository.save(updatedUser);
|
|
||||||
|
|
||||||
return needsLogout;
|
return needsLogout;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user