diff --git a/src/main/java/com/umc/finly/domain/analysis/emotion/converter/EmotionAnalysisConverter.java b/src/main/java/com/umc/finly/domain/analysis/emotion/converter/EmotionAnalysisConverter.java index 45265772..31caffb7 100644 --- a/src/main/java/com/umc/finly/domain/analysis/emotion/converter/EmotionAnalysisConverter.java +++ b/src/main/java/com/umc/finly/domain/analysis/emotion/converter/EmotionAnalysisConverter.java @@ -4,6 +4,7 @@ import com.umc.finly.domain.analysis.emotion.dto.response.GoldenTimeResDTO; import com.umc.finly.domain.analysis.emotion.dto.response.ShakenKeywordsResDTO; import com.umc.finly.domain.market.stock.entity.Stock; + import com.umc.finly.domain.record.enums.Session; import org.springframework.stereotype.Component; @@ -54,6 +55,7 @@ public static ShakenKeywordsResDTO toShakenKeywordsResDTO( // 감정 골든 타임 응답 DTO 변환 public GoldenTimeResDTO toGoldenTimeResDTO( + String nickname, Stock stock, int totalRecords, Session goldenTime, @@ -73,6 +75,7 @@ public GoldenTimeResDTO toGoldenTimeResDTO( .build(); return GoldenTimeResDTO.builder() + .nickname(nickname) .stock(stockDto) .summary(summaryDto) .session(sessions) diff --git a/src/main/java/com/umc/finly/domain/analysis/emotion/dto/response/GoldenTimeResDTO.java b/src/main/java/com/umc/finly/domain/analysis/emotion/dto/response/GoldenTimeResDTO.java index adbea1b9..54c515eb 100644 --- a/src/main/java/com/umc/finly/domain/analysis/emotion/dto/response/GoldenTimeResDTO.java +++ b/src/main/java/com/umc/finly/domain/analysis/emotion/dto/response/GoldenTimeResDTO.java @@ -1,5 +1,6 @@ package com.umc.finly.domain.analysis.emotion.dto.response; +import com.umc.finly.domain.member.entity.Member; import com.umc.finly.domain.record.enums.Session; import lombok.AllArgsConstructor; import lombok.Builder; @@ -14,6 +15,7 @@ @AllArgsConstructor public class GoldenTimeResDTO { + private String nickname; private SelectedStock stock; private Summary summary; private List session; diff --git a/src/main/java/com/umc/finly/domain/analysis/emotion/service/EmotionAnalysisServiceImpl.java b/src/main/java/com/umc/finly/domain/analysis/emotion/service/EmotionAnalysisServiceImpl.java index 00896219..5a1bb11d 100644 --- a/src/main/java/com/umc/finly/domain/analysis/emotion/service/EmotionAnalysisServiceImpl.java +++ b/src/main/java/com/umc/finly/domain/analysis/emotion/service/EmotionAnalysisServiceImpl.java @@ -9,6 +9,9 @@ import com.umc.finly.domain.analysis.emotion.util.KeywordExtractor; import com.umc.finly.domain.market.stock.entity.Stock; import com.umc.finly.domain.market.stock.repository.StockRepository; +import com.umc.finly.domain.member.entity.Member; +import com.umc.finly.domain.member.exception.code.MemberErrorCode; +import com.umc.finly.domain.member.repository.MemberRepository; import com.umc.finly.domain.record.entity.RecordEntry; import com.umc.finly.domain.record.enums.EmotionCode; import com.umc.finly.domain.record.enums.Session; @@ -31,6 +34,7 @@ public class EmotionAnalysisServiceImpl implements EmotionAnalysisService { // 키워드 추출 상위 8개 private static final int MAX_KEYWORDS = 8; + private final MemberRepository memberRepository; @Override public EmotionDistributionResDTO getEmotionDistribution(Long memberId, String symbol) { @@ -170,6 +174,12 @@ public GoldenTimeResDTO getEmotionGoldenTime(Long memberId, String symbol) { throw new CustomException(ErrorCode.INVALID_REQUEST); } + // Member nickname + Member member = memberRepository.findById(memberId) + .orElseThrow(() -> new CustomException(MemberErrorCode.MEMBER_NOT_FOUND)); + + String nickname = member.getNickname(); + // 종목 조회 Stock stock = stockRepository.findBySymbol(symbol) .orElseThrow(() -> new CustomException(EmotionAnalysisErrorCode.ANALYSIS_EMOTION_STOCK_NOT_FOUND)); @@ -232,6 +242,7 @@ public GoldenTimeResDTO getEmotionGoldenTime(Long memberId, String symbol) { // Converter로 최종 응답 조립 return emotionAnalysisConverter.toGoldenTimeResDTO( + nickname, stock, totalRecords, goldenTime,