Skip to content

Commit

Permalink
[refactor] 선물방 참여자 상세 조회 API response 요청에 따라 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
hysong4u committed Jan 18, 2024
1 parent e86d9a5 commit 4f06078
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RequiredArgsConstructor
@RequestMapping("/api/room")
@RestController
Expand Down Expand Up @@ -63,8 +65,8 @@ public ResponseEntity<SuccessResponse<?>> modifyRoomGifteeName(@UserId Long user

@GetMapping("/{roomId}/members")
public ResponseEntity<SuccessResponse<?>> getRoomMembers(@UserId Long userId, @PathVariable Long roomId) {
final RoomMemberDetailDto roomMemberDetailDto = roomService.getRoomMembers(userId, roomId);
return SuccessResponse.ok(roomMemberDetailDto);
final List<RoomMemberDto> roomMemberDtoList = roomService.getRoomMembers(userId, roomId);
return SuccessResponse.ok(roomMemberDtoList);
}

@GetMapping("/{roomId}/room-detail")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@

import lombok.Builder;

import java.util.List;

@Builder
public record RoomMemberDto(
Long memberId,
String profileImageUrl,
String name
) {
public static RoomMemberDto of(Long memberId, String profileImageUrl, String name) {
public static RoomMemberDto of(Long id, String profileImg, String nickName) {
return RoomMemberDto.builder()
.memberId(memberId)
.profileImageUrl(profileImageUrl)
.name(name)
.memberId(id)
.profileImageUrl(profileImg)
.name(nickName)
.build();
}
}
36 changes: 19 additions & 17 deletions src/main/java/org/sopt/sweet/domain/room/service/RoomService.java
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,28 @@ public void modifyRoomGifteeName(Long memberId, Long roomId, RoomNameRequestDto
}

@Transactional(readOnly = true)
public RoomMemberDetailDto getRoomMembers(Long memberId, Long roomId) {
public List<RoomMemberDto> getRoomMembers(Long memberId, Long roomId) {
List<RoomMember> roomMembers = roomMemberRepository.findByRoomId(roomId);
List<RoomMemberDto> roomMemberDtoList = mapToRoomMemberDtoList(roomMembers);
return RoomMemberDetailDto.of(roomMemberDtoList);
return mapToRoomMemberDtoList(roomMembers);
}

private List<RoomMemberDto> mapToRoomMemberDtoList(List<RoomMember> roomMembers) {
Long hostId = roomMembers.get(0).getRoom().getHost().getId();
return roomMembers.stream()
.filter(roomMember -> !roomMember.getMember().getId().equals(hostId))
.map(this::mapToRoomMemberDto)
.collect(Collectors.toList());
}

private RoomMemberDto mapToRoomMemberDto(RoomMember roomMember) {
return RoomMemberDto.of(
roomMember.getMember().getId(),
roomMember.getMember().getProfileImg(),
roomMember.getMember().getNickName()
);
}


@Transactional(readOnly = true)
public RoomOwnerDetailDto getRoom(Long memberId, Long roomId) {
Member member = findMemberByIdOrThrow(memberId);
Expand All @@ -174,21 +190,7 @@ public void deleteRoomMember(Long memberId, Long roomId, Long deleteMemberId) {
decrementGifterNumber(room);
}

private List<RoomMemberDto> mapToRoomMemberDtoList(List<RoomMember> roomMembers) {
Long hostId = roomMembers.get(0).getRoom().getHost().getId();
return roomMembers.stream()
.filter(roomMember -> !roomMember.getMember().getId().equals(hostId))
.map(this::mapToRoomMemberDto)
.collect(Collectors.toList());
}

private RoomMemberDto mapToRoomMemberDto(RoomMember roomMember) {
return RoomMemberDto.of(
roomMember.getMember().getId(),
roomMember.getMember().getProfileImg(),
roomMember.getMember().getNickName()
);
}

private void checkRoomHost(Member member, Room room) {
if (!member.equals(room.getHost())) {
Expand Down

0 comments on commit 4f06078

Please sign in to comment.