diff --git a/backend/src/main/java/org/dgu/backend/exception/PortfolioErrorResult.java b/backend/src/main/java/org/dgu/backend/exception/PortfolioErrorResult.java index 5d1ddf2..1486f5a 100644 --- a/backend/src/main/java/org/dgu/backend/exception/PortfolioErrorResult.java +++ b/backend/src/main/java/org/dgu/backend/exception/PortfolioErrorResult.java @@ -10,7 +10,8 @@ @RequiredArgsConstructor public enum PortfolioErrorResult implements BaseErrorCode { NOT_FOUND_PORTFOLIO(HttpStatus.NOT_FOUND, "404", "존재하지 않는 포트폴리오입니다."), - IS_ALREADY_SAVED(HttpStatus.CONFLICT, "409", "이미 저장된 포트폴리오입니다."); + IS_ALREADY_SAVED(HttpStatus.CONFLICT, "409", "이미 저장된 포트폴리오입니다."), + NOT_FOUND_PORTFOLIO_OPTIONS(HttpStatus.NOT_FOUND, "404", "포트폴리오 옵션이 존재하지 않습니다."); private final HttpStatus httpStatus; private final String code; diff --git a/backend/src/main/java/org/dgu/backend/repository/PortfolioOptionRepository.java b/backend/src/main/java/org/dgu/backend/repository/PortfolioOptionRepository.java index 5aaa3b8..0a04a74 100644 --- a/backend/src/main/java/org/dgu/backend/repository/PortfolioOptionRepository.java +++ b/backend/src/main/java/org/dgu/backend/repository/PortfolioOptionRepository.java @@ -4,6 +4,8 @@ import org.dgu.backend.domain.PortfolioOption; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; + public interface PortfolioOptionRepository extends JpaRepository { - PortfolioOption findByPortfolio(Portfolio portfolio); + Optional findByPortfolio(Portfolio portfolio); } \ No newline at end of file diff --git a/backend/src/main/java/org/dgu/backend/service/PortfolioServiceImpl.java b/backend/src/main/java/org/dgu/backend/service/PortfolioServiceImpl.java index 21f32be..7e4ab0e 100644 --- a/backend/src/main/java/org/dgu/backend/service/PortfolioServiceImpl.java +++ b/backend/src/main/java/org/dgu/backend/service/PortfolioServiceImpl.java @@ -33,12 +33,12 @@ public List getPortfolios(String authorizationHeade List portfolios = portfolioRepository.findAllSavedByUser(user); // 저장된 포트폴리오만 가져옴 List portfolioInfoGroups = new ArrayList<>(); - UUID currentPortfolioId = user.getCurrentPortfolioId(); for (Portfolio portfolio: portfolios) { - PortfolioOption portfolioOption = portfolioOptionRepository.findByPortfolio(portfolio); + PortfolioOption portfolioOption = portfolioOptionRepository.findByPortfolio(portfolio) + .orElseThrow(() -> new PortfolioException(PortfolioErrorResult.NOT_FOUND_PORTFOLIO)); - portfolioInfoGroups.add(PortfolioDto.PortfolioInfos.of(portfolio, portfolioOption, currentPortfolioId)); + portfolioInfoGroups.add(PortfolioDto.PortfolioInfos.of(portfolio, portfolioOption)); } return portfolioInfoGroups; @@ -54,7 +54,8 @@ public PortfolioDto.PortfolioDetailInfos getPortfolioDetails(String authorizatio TradingResult tradingResult = tradingResultRepository.findByPortfolio(portfolio); PerformanceResult performanceResult = performanceResultRepository.findByPortfolio(portfolio); - PortfolioOption portfolioOption = portfolioOptionRepository.findByPortfolio(portfolio); + PortfolioOption portfolioOption = portfolioOptionRepository.findByPortfolio(portfolio) + .orElseThrow(() -> new PortfolioException(PortfolioErrorResult.NOT_FOUND_PORTFOLIO_OPTIONS)); return PortfolioDto.PortfolioDetailInfos.of(portfolio, tradingResult, performanceResult, portfolioOption); }