From f9252350db449b4595607740f9131fbbe42a54cc Mon Sep 17 00:00:00 2001 From: koosco Date: Sat, 7 Dec 2024 07:47:53 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=A4=91=EB=B3=B5=EB=90=98?= =?UTF-8?q?=EB=8A=94=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orbit/member/app/AiFeedbackService.java | 2 +- .../orbit/resume/app/ResumeQueryService.java | 71 +++++++++---------- .../controller/ResumeQueryController.java | 2 +- 3 files changed, 34 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/groom/orbit/member/app/AiFeedbackService.java b/src/main/java/com/groom/orbit/member/app/AiFeedbackService.java index 94f28dc..df19509 100644 --- a/src/main/java/com/groom/orbit/member/app/AiFeedbackService.java +++ b/src/main/java/com/groom/orbit/member/app/AiFeedbackService.java @@ -23,7 +23,7 @@ public class AiFeedbackService { public GetFeedbackResponseDto getFeedback(Long memberId) { String interestJobs = getInterestJobs(memberId); - GetResumeResponseDto dto = resumeQueryService.getResume(memberId); + GetResumeResponseDto dto = resumeQueryService.getMyResume(memberId); return aiService.getMemberFeedback(interestJobs, dto); } diff --git a/src/main/java/com/groom/orbit/resume/app/ResumeQueryService.java b/src/main/java/com/groom/orbit/resume/app/ResumeQueryService.java index 547f97c..0b3afd9 100644 --- a/src/main/java/com/groom/orbit/resume/app/ResumeQueryService.java +++ b/src/main/java/com/groom/orbit/resume/app/ResumeQueryService.java @@ -1,5 +1,7 @@ package com.groom.orbit.resume.app; +import static com.groom.orbit.resume.dao.entity.ResumeCategory.*; + import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; @@ -9,8 +11,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.groom.orbit.common.exception.CommonException; -import com.groom.orbit.common.exception.ErrorCode; import com.groom.orbit.member.app.MemberQueryService; import com.groom.orbit.member.dao.jpa.entity.Member; import com.groom.orbit.resume.app.dto.GetOtherResumeResponseDto; @@ -29,67 +29,60 @@ public class ResumeQueryService { private final ResumeRepository resumeRepository; private final MemberQueryService memberQueryService; - public GetResumeResponseDto getResume(Long memberId) { - + public GetResumeResponseDto getMyResume(Long memberId) { Map> categorizedResumes = - resumeRepository.findAllByMemberId(memberId).stream() - .map(ResumeResponseDto::fromResume) - .collect(Collectors.groupingBy(ResumeResponseDto::resumeCategory)); + getCategorizedResume(memberId); return new GetResumeResponseDto( - categorizedResumes.getOrDefault(ResumeCategory.ACADEMY, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.CAREER, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.QUALIFICATION, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.EXPERIENCE, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.ETC, List.of())); + categorizedResumes.getOrDefault(ACADEMY, List.of()), + categorizedResumes.getOrDefault(CAREER, List.of()), + categorizedResumes.getOrDefault(QUALIFICATION, List.of()), + categorizedResumes.getOrDefault(EXPERIENCE, List.of()), + categorizedResumes.getOrDefault(ETC, List.of())); } public GetOtherResumeResponseDto getOtherResume(Long otherId) { - Member member = memberQueryService.findMember(otherId); - Map> categorizedResumes = - resumeRepository.findAllByMemberId(otherId).stream() - .map(ResumeResponseDto::fromResume) - .collect(Collectors.groupingBy(ResumeResponseDto::resumeCategory)); + Map> categorizedResumes = getCategorizedResume(otherId); return new GetOtherResumeResponseDto( - categorizedResumes.getOrDefault(ResumeCategory.ACADEMY, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.CAREER, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.QUALIFICATION, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.EXPERIENCE, List.of()), - categorizedResumes.getOrDefault(ResumeCategory.ETC, List.of()), + categorizedResumes.getOrDefault(ACADEMY, List.of()), + categorizedResumes.getOrDefault(CAREER, List.of()), + categorizedResumes.getOrDefault(QUALIFICATION, List.of()), + categorizedResumes.getOrDefault(EXPERIENCE, List.of()), + categorizedResumes.getOrDefault(ETC, List.of()), member.getImageUrl(), member.getNickname()); } - public Object checkIsResume(Long memberId, Long otherId) { - - Member member = memberQueryService.findMember(otherId); + private Map> getCategorizedResume(Long memberId) { + return resumeRepository.findAllByMemberId(memberId).stream() + .map(ResumeResponseDto::fromResume) + .collect(Collectors.groupingBy(ResumeResponseDto::resumeCategory)); + } - if (member.getIsProfile().equals(true)) { - return getOtherResume(otherId); - } else { - if (memberId.equals(otherId)) { - return getResume(memberId); - } else { - throw new CommonException(ErrorCode.NOT_MATCH_AUTH_CODE); - } + /** TODO Resume가 없는 사용자 조회시 빈 화면이 나와야할 것 같은데 ?? */ + public Object checkIsResume(Long memberId, Long otherId) { + if (memberId.equals(otherId)) { + return getMyResume(memberId); } + return getOtherResume(otherId); } + @Deprecated public List convertToResumeStrings(GetResumeResponseDto responseDto) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); Map> categorizedResumes = Map.of( - ResumeCategory.ACADEMY, responseDto.academyList(), - ResumeCategory.CAREER, responseDto.careerList(), - ResumeCategory.QUALIFICATION, responseDto.qualificationList(), - ResumeCategory.EXPERIENCE, responseDto.experienceList(), - ResumeCategory.ETC, responseDto.etcList()); + ACADEMY, responseDto.academyList(), + CAREER, responseDto.careerList(), + QUALIFICATION, responseDto.qualificationList(), + EXPERIENCE, responseDto.experienceList(), + ETC, responseDto.etcList()); - return Arrays.stream(ResumeCategory.values()) + return Arrays.stream(values()) .map( category -> { List resumeList = diff --git a/src/main/java/com/groom/orbit/resume/controller/ResumeQueryController.java b/src/main/java/com/groom/orbit/resume/controller/ResumeQueryController.java index 19bd69d..0420ea5 100644 --- a/src/main/java/com/groom/orbit/resume/controller/ResumeQueryController.java +++ b/src/main/java/com/groom/orbit/resume/controller/ResumeQueryController.java @@ -21,7 +21,7 @@ public class ResumeQueryController { @GetMapping public ResponseDto getResume(@AuthMember Long memberId) { - return ResponseDto.ok(resumeQueryService.getResume(memberId)); + return ResponseDto.ok(resumeQueryService.getMyResume(memberId)); } @GetMapping("/{otherId}")