diff --git a/src/main/java/leets/weeth/domain/account/application/usecase/AccountUseCaseImpl.java b/src/main/java/leets/weeth/domain/account/application/usecase/AccountUseCaseImpl.java index 69e25cdc4..a063b5f5b 100644 --- a/src/main/java/leets/weeth/domain/account/application/usecase/AccountUseCaseImpl.java +++ b/src/main/java/leets/weeth/domain/account/application/usecase/AccountUseCaseImpl.java @@ -9,6 +9,7 @@ import leets.weeth.domain.account.domain.entity.Receipt; import leets.weeth.domain.account.domain.service.AccountGetService; import leets.weeth.domain.account.domain.service.AccountSaveService; +import leets.weeth.domain.account.domain.service.ReceiptGetService; import leets.weeth.domain.file.application.dto.response.FileResponse; import leets.weeth.domain.file.application.mapper.FileMapper; import leets.weeth.domain.file.domain.service.FileGetService; @@ -25,8 +26,10 @@ public class AccountUseCaseImpl implements AccountUseCase { private final AccountGetService accountGetService; private final AccountSaveService accountSaveService; + private final ReceiptGetService receiptGetService; private final FileGetService fileGetService; private final CardinalGetService cardinalGetService; + private final AccountMapper accountMapper; private final ReceiptMapper receiptMapper; private final FileMapper fileMapper; @@ -34,7 +37,7 @@ public class AccountUseCaseImpl implements AccountUseCase { @Override public AccountDTO.Response find(Integer cardinal) { Account account = accountGetService.find(cardinal); - List receipts = account.getReceipts(); + List receipts = receiptGetService.findAllByAccountId(account.getId()); List response = receipts.stream() .map(receipt -> receiptMapper.to(receipt, getFiles(receipt.getId()))) .toList(); diff --git a/src/main/java/leets/weeth/domain/account/domain/repository/ReceiptRepository.java b/src/main/java/leets/weeth/domain/account/domain/repository/ReceiptRepository.java index 472d6e587..cd3fef94e 100644 --- a/src/main/java/leets/weeth/domain/account/domain/repository/ReceiptRepository.java +++ b/src/main/java/leets/weeth/domain/account/domain/repository/ReceiptRepository.java @@ -3,5 +3,8 @@ import leets.weeth.domain.account.domain.entity.Receipt; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface ReceiptRepository extends JpaRepository { + List findAllByAccountIdOrderByCreatedAtDesc(Long accountId); } diff --git a/src/main/java/leets/weeth/domain/account/domain/service/ReceiptGetService.java b/src/main/java/leets/weeth/domain/account/domain/service/ReceiptGetService.java index 9eb565b24..0fb1b2662 100644 --- a/src/main/java/leets/weeth/domain/account/domain/service/ReceiptGetService.java +++ b/src/main/java/leets/weeth/domain/account/domain/service/ReceiptGetService.java @@ -6,6 +6,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + @Service @RequiredArgsConstructor public class ReceiptGetService { @@ -16,4 +18,8 @@ public Receipt find(Long id) { return receiptRepository.findById(id) .orElseThrow(ReceiptNotFoundException::new); } + + public List findAllByAccountId(Long accountId) { + return receiptRepository.findAllByAccountIdOrderByCreatedAtDesc(accountId); + } }