Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ public InternalUserDetails getInternalUser(Long userId) {
return convertUserDetailsWithRoleToTeam(users.get(0));
}

/**
* 단일 내부 사용자 조회 (role 변환 없이 원본 team 정보 반환)
*/
public InternalUserDetails getInternalUserWithOriginalTeam(Long userId) {
validateUserId(userId);
List<InternalUserDetails> users = fetchInternalUsers(Collections.singletonList(userId));
return users.get(0);
}

/**
* 다중 내부 사용자 조회
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,15 @@ public ResponseEntity<MemberProfileSpecificResponse> getMyProfile (
public ResponseEntity<MemberAllProfileResponse> getUserProfiles (
@RequestParam(required = false, name = "filter") Integer filter,
@RequestParam(required = false, name = "limit") Integer limit,
@RequestParam(required = false, name = "cursor") Integer cursor,
@RequestParam(required = false, name = "offset") Integer offset,
@RequestParam(required = false, name = "search") String search,
@RequestParam(required = false, name = "generation") Integer generation,
@RequestParam(required = false, name = "employed") Integer employed,
@RequestParam(required = false, name = "orderBy") Integer orderBy,
@RequestParam(required = false, name = "mbti") String mbti,
@RequestParam(required = false, name = "team") String team
) {
MemberAllProfileResponse response = memberService.getMemberProfiles(filter, limit, cursor, search, generation, employed, orderBy, mbti, team);
MemberAllProfileResponse response = memberService.getMemberProfiles(filter, limit, offset, search, generation, employed, orderBy, mbti, team);
return ResponseEntity.status(HttpStatus.OK).body(response);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,12 @@ public List<MemberResponse> getMemberByName(String name) {

@Transactional(readOnly = true)
public MemberProfileSpecificResponse getMemberProfile(Long profileId, Long viewerId) {
boolean isMine = Objects.equals(profileId, viewerId);
Member member = getMemberHasProfileById(profileId);
InternalUserDetails userDetails = platformService.getInternalUser(profileId);
// 내 프로필 조회인 경우 원본 team 정보 사용, 다른 사람 프로필 조회인 경우 role 변환된 team 정보 사용
InternalUserDetails userDetails = isMine
? platformService.getInternalUserWithOriginalTeam(profileId)
: platformService.getInternalUser(profileId);
List<MemberProfileProjectDao> memberProfileProjects = getMemberProfileProjects(profileId);
val activityMap = getMemberProfileActivity(userDetails.soptActivities(), memberProfileProjects);
val soptActivity = getMemberProfileProjects(userDetails.soptActivities(), memberProfileProjects);
Expand All @@ -144,7 +148,6 @@ public MemberProfileSpecificResponse getMemberProfile(Long profileId, Long viewe
.stream()
.map(entry -> new MemberActivityResponse(entry.getKey(), entry.getValue()))
.collect(Collectors.toList());
boolean isMine = Objects.equals(profileId, viewerId);
boolean isCoffeeChatActivate = coffeeChatRetriever.existsCoffeeChat(member);
MemberProfileSpecificResponse response = memberMapper.toProfileSpecificResponse(member, userDetails, isMine,
memberProfileProjects, activityResponses, isCoffeeChatActivate);
Expand Down Expand Up @@ -256,7 +259,7 @@ public List<MemberProfileProjectVo> getMemberProfileProjects(List<SoptActivity>
}

@Transactional(readOnly = true)
public MemberAllProfileResponse getMemberProfiles(Integer filter, Integer limit, Integer cursor, String search,
public MemberAllProfileResponse getMemberProfiles(Integer filter, Integer limit, Integer offset, String search,
Integer generation, Integer employed, Integer orderBy, String mbti, String team) {
// 1) DB에서 먼저 서버 필터(mbti, employed)로 해당하는 모든 userId 조회
List<Long> allFilteredIds = memberProfileQueryRepository.findAllMemberIdsByDbFilters(mbti, employed, search);
Expand Down Expand Up @@ -293,7 +296,7 @@ public MemberAllProfileResponse getMemberProfiles(Integer filter, Integer limit,
}

// 3-1) Member 정보를 포함한 정렬 및 페이지네이션 처리
int offsetValue = (cursor == null || cursor < 0) ? 0 : cursor;
int offsetValue = (offset == null || offset < 0) ? 0 : offset;
int limitValue = (limit == null || limit <= 0) ? 30 : limit;

OrderByCondition orderByCondition = OrderByCondition.valueOf(orderBy);
Expand Down