Skip to content

Commit

Permalink
#197 Fix: 팀 멤버 역할 수정 및 팀원 닉네임 반환 로지 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
insa658723 committed Aug 20, 2024
1 parent 111921b commit 2f136ac
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,22 @@ public static TeamResponseDTO.CreateTeamResponseDTO toCreateMemberDTO(Team team)
}

//팀 조회
public static TeamResponseDTO.TeamCheckResponseDTO toTeamCheckResponseDTO(Team team, boolean isAdmin) {
List<TeamMemberResponseDTO.TeamMemberDTO> members = team.getTeamMemberList().stream()
.map(TeamMemberConverter::toTeamMemberDTO)
.collect(Collectors.toList());

public static TeamResponseDTO.TeamCheckResponseDTO toTeamCheckResponseDTO(Team team, boolean isAdmin, List<TeamMemberResponseDTO.TeamMemberDTO> members) {
return TeamResponseDTO.TeamCheckResponseDTO.builder()
.teamId(team.getTeamId())
.name(team.getName())
.intro(team.getIntro())
.bannerImageUrl((team.getBannerImage() != null)
? team.getBannerImage().getImageUrl()
: "")
.profileImageUrl((team.getProfileImage() != null)
? team.getProfileImage().getImageUrl()
: "")
.bannerImageUrl((team.getBannerImage() != null)
? team.getBannerImage().getImageUrl()
: "")
.github(team.getGithub())
.email(team.getEmail())
.linkedIn(team.getLinkedin())
.members(members)
.isAdmin(isAdmin)
.members(members) // 멤버 리스트 포함
.isAdmin(isAdmin)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,7 @@ public class TeamMember {
@JoinColumn(name = "team_id")
private Team team;

@Column(name = "member_position", columnDefinition = "varchar(500)")
private String memberPosition;

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@ public class TeamMemberCommandServiceImpl implements TeamMemberCommandService {
private final MemberRepository memberRepository;
private final TeamMemberRepository teamMemberRepository;

public TeamMember addMemberToTeam(Member member, Team team, MemberRole role) {
public TeamMember addMemberToTeam(Member member, Team team, MemberRole role, String position) {
if(teamMemberRepository.findByTeamAndMember(team, member).isPresent()) {
throw new GeneralException(ErrorStatus.TEAM_MEMBER_ALREADY_EXISTS);
}
TeamMember teamMember = TeamMember.builder()
.team(team)
.member(member)
.teamMemberRole(role)
.memberPosition(position)
.build();

return teamMemberRepository.save(teamMember);
Expand All @@ -57,13 +58,7 @@ public TeamMember addMember(TeamMemberRequestDTO.AddMemberDTO request) {
Member member = memberRepository.findById(request.getMemberId())
.orElseThrow(() -> new IllegalArgumentException("Invalid member ID"));

TeamMember teamMember = TeamMember.builder()
.team(team)
.member(member)
.teamMemberRole(request.getMemberRole())
.build();

return addMemberToTeam(member, team, request.getMemberRole());
return addMemberToTeam(member, team, request.getMemberRole(), request.getMemberPosition());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import com.codiary.backend.global.repository.*;
import com.codiary.backend.global.converter.TeamConverter;
import com.codiary.backend.global.web.dto.Team.TeamResponseDTO;
import com.codiary.backend.global.web.dto.TeamMember.TeamMemberResponseDTO;
import lombok.RequiredArgsConstructor;
import org.hibernate.Hibernate;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -71,8 +72,18 @@ public TeamResponseDTO.TeamCheckResponseDTO getTeamById(Long teamId) {
teamMember.getTeamMemberRole() == MemberRole.ADMIN
);

team.getTeamMemberList().size();
return TeamConverter.toTeamCheckResponseDTO(team, isAdmin);
List<TeamMemberResponseDTO.TeamMemberDTO> members = team.getTeamMemberList().stream()
.map(teamMember -> TeamMemberResponseDTO.TeamMemberDTO.builder()
.teamMemberId(teamMember.getTeamMemberId())
.teamId(team.getTeamId())
.memberId(teamMember.getMember().getMemberId())
.nickname(teamMember.getMember().getNickname())
.memberRole(teamMember.getTeamMemberRole())
.memberPosition(teamMember.getMemberPosition())
.build())
.collect(Collectors.toList());

return TeamConverter.toTeamCheckResponseDTO(team, isAdmin, members);
}

private Member getRequester() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public static class AddMemberDTO {
private Long teamId;
private Long memberId;
private MemberRole memberRole;
private String memberPosition;
}

@Getter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ public static class TeamMemberDTO {
private Long teamMemberId;
private Long teamId;
private Long memberId;
private String nickname;
private MemberRole memberRole;
private String memberPosition;
}
}

0 comments on commit 2f136ac

Please sign in to comment.