From 7f6b9497eb159772e15591217e3dad4a50cdb429 Mon Sep 17 00:00:00 2001 From: yr0202 Date: Sun, 9 Feb 2025 18:35:49 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20=EC=B6=94=EC=B2=9C=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=904=EB=AA=85,=20=EC=83=81=EC=9E=AC=EB=B0=A9=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=95=84=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=A0=84?= =?UTF-8?q?=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chemistry/controller/RecommendControllerImpl.java | 4 +--- .../repository/MemberMatchingScoreRepository.java | 2 +- .../unsemawang/chemistry/service/RecommendService.java | 10 +++++----- .../unsemawang/common/constants/ResponseCode.java | 1 + 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/palbang/unsemawang/chemistry/controller/RecommendControllerImpl.java b/src/main/java/com/palbang/unsemawang/chemistry/controller/RecommendControllerImpl.java index e077892f..b8e59b2c 100644 --- a/src/main/java/com/palbang/unsemawang/chemistry/controller/RecommendControllerImpl.java +++ b/src/main/java/com/palbang/unsemawang/chemistry/controller/RecommendControllerImpl.java @@ -8,7 +8,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.palbang.unsemawang.chemistry.batch.TotalCalculationService; import com.palbang.unsemawang.chemistry.dto.response.ChemistryRecommendResponse; import com.palbang.unsemawang.chemistry.service.RecommendService; import com.palbang.unsemawang.common.constants.ResponseCode; @@ -23,7 +22,6 @@ public class RecommendControllerImpl implements RecommendController { private final RecommendService recommendService; - private final TotalCalculationService totalCalculationService; @GetMapping("/recommendations") @Override @@ -34,7 +32,7 @@ public ResponseEntity> recommendChemistryMember throw new GeneralException(ResponseCode.EMPTY_TOKEN); } - List recommendedMemberList = recommendService.getTop5Matches(auth.getId()); + List recommendedMemberList = recommendService.getTopMatches(auth.getId()); return ResponseEntity.ok(recommendedMemberList); } diff --git a/src/main/java/com/palbang/unsemawang/chemistry/repository/MemberMatchingScoreRepository.java b/src/main/java/com/palbang/unsemawang/chemistry/repository/MemberMatchingScoreRepository.java index 7aa01158..34cfbb9a 100644 --- a/src/main/java/com/palbang/unsemawang/chemistry/repository/MemberMatchingScoreRepository.java +++ b/src/main/java/com/palbang/unsemawang/chemistry/repository/MemberMatchingScoreRepository.java @@ -11,7 +11,7 @@ @Repository public interface MemberMatchingScoreRepository extends JpaRepository { - List findTop5ByMemberIdOrderByScoreDesc(String memberId); + List findTop4ByMemberIdOrderByScoreDesc(String memberId); MemberMatchingScore findByMemberAndMatchMember(Member member, Member matchMember); } diff --git a/src/main/java/com/palbang/unsemawang/chemistry/service/RecommendService.java b/src/main/java/com/palbang/unsemawang/chemistry/service/RecommendService.java index 042c5bbb..5f557d70 100644 --- a/src/main/java/com/palbang/unsemawang/chemistry/service/RecommendService.java +++ b/src/main/java/com/palbang/unsemawang/chemistry/service/RecommendService.java @@ -28,24 +28,24 @@ public class RecommendService { private final FileService fileService; @Transactional(readOnly = true) - public List getTop5Matches(String memberId) { + public List getTopMatches(String memberId) { Member member = memberRepository.findById(memberId) .orElseThrow(() -> new GeneralException(ResponseCode.NOT_EXIST_MEMBER_ID)); - List matchingScores = memberMatchingScoreRepository.findTop5ByMemberIdOrderByScoreDesc( + List matchingScores = memberMatchingScoreRepository.findTop4ByMemberIdOrderByScoreDesc( member.getId()); if (matchingScores.isEmpty()) { - throw new GeneralException(ResponseCode.ERROR_SEARCH); + throw new GeneralException(ResponseCode.NOT_MATCHING_PEOPLE); } // 최대 점수 찾기 int maxScore = matchingScores.get(0).getScore(); // 가장 높은 점수 기준으로 스케일링 - String imgUrl = fileService.getProfileImgUrl(memberId); - + return matchingScores.stream() .map(score -> { String matchMemberId = score.getMatchMember().getId(); + String imgUrl = fileService.getProfileImgUrl(matchMemberId); FortuneUserInfo fortuneUserInfo = fortuneUserInfoRepository.findByMemberIdRelationIdIsOne(matchMemberId) .orElseThrow(() -> new GeneralException(ResponseCode.ERROR_SEARCH)); diff --git a/src/main/java/com/palbang/unsemawang/common/constants/ResponseCode.java b/src/main/java/com/palbang/unsemawang/common/constants/ResponseCode.java index 54edd60d..0d086962 100644 --- a/src/main/java/com/palbang/unsemawang/common/constants/ResponseCode.java +++ b/src/main/java/com/palbang/unsemawang/common/constants/ResponseCode.java @@ -63,6 +63,7 @@ public enum ResponseCode implements Codable { NOT_EXIST_FORTUNE_USER_INFO("6133", HttpStatus.BAD_REQUEST, "해당 사주 정보를 찾을 수 없습니다."), NOT_EXIST_USER_RELATION("6134", HttpStatus.BAD_REQUEST, "해당 사주 관계를 찾을 수 없습니다."), NOT_CHANGED_RELATION("6135", HttpStatus.BAD_REQUEST, "본인 관계는 수정할 수 없습니다."), + NOT_MATCHING_PEOPLE("6135", HttpStatus.BAD_REQUEST, "추천된 사용자 리스트가 없습니다."), // 유효성 검사 오류 (형식: 62xx) NOT_LITERAL("6211", HttpStatus.BAD_REQUEST, "문자열 형식이 아님"),