diff --git a/src/main/java/com/codiary/backend/global/converter/TeamConverter.java b/src/main/java/com/codiary/backend/global/converter/TeamConverter.java index 63ee6586..55ad26b5 100644 --- a/src/main/java/com/codiary/backend/global/converter/TeamConverter.java +++ b/src/main/java/com/codiary/backend/global/converter/TeamConverter.java @@ -2,6 +2,10 @@ import com.codiary.backend.global.domain.entity.Team; import com.codiary.backend.global.web.dto.Team.TeamResponseDTO; +import com.codiary.backend.global.web.dto.TeamMember.TeamMemberResponseDTO; + +import java.util.List; +import java.util.stream.Collectors; public class TeamConverter { //팀생성 @@ -15,14 +19,20 @@ public static TeamResponseDTO.CreateTeamResponseDTO toCreateMemberDTO(Team team) } //팀 조회 - public static TeamResponseDTO.TeamCheckResponseDTO toTeamCheckDTO(Team team) { + public static TeamResponseDTO.TeamCheckResponseDTO toTeamCheckResponseDTO(Team team) { + List members = team.getTeamMemberList().stream() + .map(TeamMemberConverter::toTeamMemberDTO) + .collect(Collectors.toList()); + return TeamResponseDTO.TeamCheckResponseDTO.builder() + .teamId(team.getTeamId()) .name(team.getName()) .intro(team.getIntro()) .profilePhoto(team.getProfilePhoto()) .github(team.getGithub()) .email(team.getEmail()) .linkedIn(team.getLinkedin()) + .members(members) .build(); } diff --git a/src/main/java/com/codiary/backend/global/service/TeamService/TeamQueryServiceImpl.java b/src/main/java/com/codiary/backend/global/service/TeamService/TeamQueryServiceImpl.java index 5e4514ad..b4383324 100644 --- a/src/main/java/com/codiary/backend/global/service/TeamService/TeamQueryServiceImpl.java +++ b/src/main/java/com/codiary/backend/global/service/TeamService/TeamQueryServiceImpl.java @@ -1,5 +1,6 @@ package com.codiary.backend.global.service.TeamService; +import com.codiary.backend.global.converter.TeamConverter; import com.codiary.backend.global.domain.entity.Team; import com.codiary.backend.global.repository.TeamRepository; import com.codiary.backend.global.web.dto.Team.TeamResponseDTO; @@ -17,14 +18,6 @@ public TeamResponseDTO.TeamCheckResponseDTO getTeamById(Long teamId) { Team team = teamRepository.findById(teamId) .orElseThrow(() -> new IllegalArgumentException("Invalid team ID")); - return TeamResponseDTO.TeamCheckResponseDTO.builder() - .teamId(team.getTeamId()) - .name(team.getName()) - .intro(team.getIntro()) - .profilePhoto(team.getProfilePhoto()) - .github(team.getGithub()) - .email(team.getEmail()) - .linkedIn(team.getLinkedin()) - .build(); + return TeamConverter.toTeamCheckResponseDTO(team); } } diff --git a/src/main/java/com/codiary/backend/global/web/controller/TeamController.java b/src/main/java/com/codiary/backend/global/web/controller/TeamController.java index ae4db963..bf83df74 100644 --- a/src/main/java/com/codiary/backend/global/web/controller/TeamController.java +++ b/src/main/java/com/codiary/backend/global/web/controller/TeamController.java @@ -8,6 +8,7 @@ import com.codiary.backend.global.domain.entity.Team; import com.codiary.backend.global.service.PostService.PostCommandService; import com.codiary.backend.global.service.TeamService.TeamCommandService; +import com.codiary.backend.global.service.TeamService.TeamQueryService; import com.codiary.backend.global.web.dto.Post.PostRequestDTO; import com.codiary.backend.global.web.dto.Post.PostResponseDTO; import com.codiary.backend.global.web.dto.Team.TeamRequestDTO; @@ -22,6 +23,7 @@ public class TeamController { private final TeamCommandService teamCommandService; + private final TeamQueryService teamQueryService; //팀 생성 @PostMapping() @@ -35,6 +37,14 @@ public ApiResponse createTeam( TeamConverter.toCreateMemberDTO(newTeam)); } + //팀 조회 + @GetMapping("/{teamId}") + @Operation(summary = "팀 정보 조회") + public ApiResponse getTeamById(@PathVariable Long teamId) { + TeamResponseDTO.TeamCheckResponseDTO teamInfo = teamQueryService.getTeamById(teamId); + return ApiResponse.onSuccess(SuccessStatus.TEAM_OK, teamInfo); + } + // 팀 프로필 수정 @PatchMapping("/profile/{teamId}") @Operation(summary = "팀 프로필 수정") diff --git a/src/main/java/com/codiary/backend/global/web/dto/Team/TeamResponseDTO.java b/src/main/java/com/codiary/backend/global/web/dto/Team/TeamResponseDTO.java index fb893163..88feaa33 100644 --- a/src/main/java/com/codiary/backend/global/web/dto/Team/TeamResponseDTO.java +++ b/src/main/java/com/codiary/backend/global/web/dto/Team/TeamResponseDTO.java @@ -2,8 +2,10 @@ import com.codiary.backend.global.domain.enums.PostAccess; import com.codiary.backend.global.jwt.TokenInfo; +import com.codiary.backend.global.web.dto.TeamMember.TeamMemberResponseDTO; import lombok.*; +import java.util.List; import java.util.Set; public class TeamResponseDTO { @@ -47,6 +49,7 @@ public static class TeamCheckResponseDTO { // 팀 조회 String github; String email; String linkedIn; + private List members; // 팀원 목록 추가 } @Builder