Skip to content

Commit

Permalink
refactor: 중복되는 로직 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
koosco committed Dec 6, 2024
1 parent 9597573 commit f925235
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
71 changes: 32 additions & 39 deletions src/main/java/com/groom/orbit/resume/app/ResumeQueryService.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;
Expand All @@ -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<ResumeCategory, List<ResumeResponseDto>> 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<ResumeCategory, List<ResumeResponseDto>> categorizedResumes =
resumeRepository.findAllByMemberId(otherId).stream()
.map(ResumeResponseDto::fromResume)
.collect(Collectors.groupingBy(ResumeResponseDto::resumeCategory));
Map<ResumeCategory, List<ResumeResponseDto>> 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<ResumeCategory, List<ResumeResponseDto>> 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<String> convertToResumeStrings(GetResumeResponseDto responseDto) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

Map<ResumeCategory, List<ResumeResponseDto>> 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<ResumeResponseDto> resumeList =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ResumeQueryController {

@GetMapping
public ResponseDto<GetResumeResponseDto> getResume(@AuthMember Long memberId) {
return ResponseDto.ok(resumeQueryService.getResume(memberId));
return ResponseDto.ok(resumeQueryService.getMyResume(memberId));
}

@GetMapping("/{otherId}")
Expand Down

0 comments on commit f925235

Please sign in to comment.