Skip to content

Commit eceb98f

Browse files
Fix: 내가 가입 신청한 정보 조회시 유저 정보 추가
Fix: 내가 가입 신청한 정보 조회시 유저 정보 추가
2 parents 1a06c92 + 3e47a8b commit eceb98f

5 files changed

Lines changed: 35 additions & 9 deletions

File tree

src/main/java/flipnote/group/adapter/out/persistence/GroupRepositoryAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,9 @@ public boolean checkJoinable(Long groupId) {
7272

7373
return maxMember > count;
7474
}
75+
76+
@Override
77+
public List<GroupEntity> findAllById(List<Long> groupIds) {
78+
return groupRepository.findAllById(groupIds);
79+
}
7580
}

src/main/java/flipnote/group/application/port/in/result/FindMyJoinListResult.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@
88
public record FindMyJoinListResult(
99
List<JoinMyInfo> joinList
1010
) {
11-
public static FindMyJoinListResult of(List<JoinEntity> joinList) {
12-
List<JoinMyInfo> joinInfoList = joinList.stream()
13-
.map(JoinMyInfo::of)
14-
.toList();
15-
return new FindMyJoinListResult(joinInfoList);
11+
public static FindMyJoinListResult of(List<JoinMyInfo> joinList) {
12+
return new FindMyJoinListResult(joinList);
1613
}
1714
}

src/main/java/flipnote/group/application/port/out/GroupRepositoryPort.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ public interface GroupRepositoryPort {
2121
List<GroupInfo> findAllByCursorAndCreatedUserId(Long cursorId, Category category, int size, Long userId);
2222

2323
boolean checkJoinable(Long groupId);
24+
25+
List<GroupEntity> findAllById(List<Long> groupIds);
2426
}
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,46 @@
11
package flipnote.group.application.service;
22

33
import java.util.List;
4+
import java.util.Map;
5+
import java.util.stream.Collectors;
46

57
import org.springframework.stereotype.Service;
68

9+
import flipnote.group.adapter.out.entity.GroupEntity;
710
import flipnote.group.adapter.out.entity.JoinEntity;
811
import flipnote.group.application.port.in.FindMyJoinListUseCase;
912
import flipnote.group.application.port.in.result.FindMyJoinListResult;
13+
import flipnote.group.application.port.out.GroupRepositoryPort;
1014
import flipnote.group.application.port.out.JoinRepositoryPort;
15+
import flipnote.group.domain.model.join.JoinMyInfo;
1116
import lombok.RequiredArgsConstructor;
1217

1318
@Service
1419
@RequiredArgsConstructor
1520
public class FindMyJoinListService implements FindMyJoinListUseCase {
1621

1722
private final JoinRepositoryPort joinRepository;
23+
private final GroupRepositoryPort groupRepository;
1824

1925
@Override
2026
public FindMyJoinListResult findMyJoinList(Long userId) {
2127

2228
List<JoinEntity> joinList = joinRepository.findMyJoinList(userId);
2329

24-
return FindMyJoinListResult.of(joinList);
30+
List<Long> groupIds = joinList.stream()
31+
.map(JoinEntity::getGroupId)
32+
.toList();
33+
34+
List<GroupEntity> groupList = groupRepository.findAllById(groupIds);
35+
36+
Map<Long, String> groupNameMap = groupList.stream()
37+
.collect(Collectors.toMap(GroupEntity::getId, GroupEntity::getName));
38+
39+
List<JoinMyInfo> result = joinList.stream()
40+
.map(join -> JoinMyInfo.of(join, groupNameMap.get(join.getGroupId())))
41+
.toList();
42+
43+
44+
return FindMyJoinListResult.of(result);
2545
}
2646
}

src/main/java/flipnote/group/domain/model/join/JoinMyInfo.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
public record JoinMyInfo(
66
Long groupJoinId,
77
String joinIntro,
8-
JoinStatus status
8+
JoinStatus status,
9+
Long groupId,
10+
String groupName
911
) {
10-
public static JoinMyInfo of(JoinEntity join) {
11-
return new JoinMyInfo(join.getId(), join.getForm(), join.getStatus());
12+
public static JoinMyInfo of(JoinEntity join, String groupName) {
13+
return new JoinMyInfo(join.getId(), join.getForm(), join.getStatus(), join.getGroupId(), groupName);
1214
}
1315
}

0 commit comments

Comments
 (0)