From a2aa4d012a02482eed7f2f1112d2bc413f1510c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A7=84=EC=A3=BC=EC=9B=90?= <84346055+jinjoo-lab@users.noreply.github.com> Date: Tue, 28 Nov 2023 22:38:01 +0900 Subject: [PATCH] =?UTF-8?q?[FEAT]=20@IterableMapping=EC=9D=84=20=ED=99=9C?= =?UTF-8?q?=EC=9A=A9=ED=95=9C=20=EB=A7=A4=ED=95=91=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/domain/group/mapper/GroupMapper.java | 14 +++++++++++--- .../backend/domain/group/service/GroupService.java | 12 ++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/com/twtw/backend/domain/group/mapper/GroupMapper.java b/backend/src/main/java/com/twtw/backend/domain/group/mapper/GroupMapper.java index b8cba684..08b5b827 100644 --- a/backend/src/main/java/com/twtw/backend/domain/group/mapper/GroupMapper.java +++ b/backend/src/main/java/com/twtw/backend/domain/group/mapper/GroupMapper.java @@ -7,10 +7,9 @@ import com.twtw.backend.domain.group.entity.GroupMember; import com.twtw.backend.domain.member.entity.Member; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingConstants; +import org.mapstruct.*; +import java.util.List; import java.util.UUID; @Mapper(componentModel = MappingConstants.ComponentModel.SPRING) @@ -33,4 +32,13 @@ public interface GroupMapper { @Mapping(target = "memberId", source = "member.id") ShareInfoResponse toShareInfo(GroupMember groupMember); + @Named("groupMemberToGroupInfoResponse") + @Mapping(target = "groupId", source = "groupMember.group.id") + @Mapping(target = "leaderId", source = "groupMember.group.leaderId") + @Mapping(target = "name", source = "groupMember.group.name") + @Mapping(target = "groupImage", source = "groupMember.group.groupImage") + GroupInfoResponse toGroupInfoResponse(GroupMember groupMember); + + @IterableMapping(qualifiedByName = "groupMemberToGroupInfoResponse") + List toMyGroupsInfo(List groupMembers); } diff --git a/backend/src/main/java/com/twtw/backend/domain/group/service/GroupService.java b/backend/src/main/java/com/twtw/backend/domain/group/service/GroupService.java index cd99f382..2d051d2c 100644 --- a/backend/src/main/java/com/twtw/backend/domain/group/service/GroupService.java +++ b/backend/src/main/java/com/twtw/backend/domain/group/service/GroupService.java @@ -114,16 +114,8 @@ public GroupInfoResponse getGroupInfoResponse(Group group) { return groupMapper.toGroupInfo(group); } - @Transactional + @Transactional(readOnly = true) public List getMyGroups(){ - List responses = new ArrayList<>(); - - Member loginMember = authService.getMemberByJwt(); - - for(GroupMember groupMember : loginMember.getGroupMembers()){ - responses.add(groupMapper.toGroupInfo(groupMember.getGroup())); - } - - return responses; + return groupMapper.toMyGroupsInfo(authService.getMemberByJwt().getGroupMembers()); } }