Skip to content

Commit

Permalink
#174 Fix: 프로젝트 추가 관련 에러 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
yumzen committed Aug 15, 2024
1 parent 6665b17 commit c7a94d8
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ public enum ErrorStatus implements BaseErrorCode {
MEMBER_WRONG_PASSWORD(HttpStatus.BAD_REQUEST, "MEMBER_1008", "비밀번호 형식이 올바르지 않습니다."),
MEMBER_EMAIL_ALREADY_EXISTS(HttpStatus.CONFLICT, "MEMBER_1009", "이미 가입된 이메일입니다."),
MEMBER_NICKNAME_ALREADY_EXISTS(HttpStatus.CONFLICT, "MEMBER_1010", "이미 존재하는 닉네임입니다."),

MEMBER_SELF_FOLLOW(HttpStatus.BAD_REQUEST, "MEMBER_1100", "셀프 팔로우 기능은 제공하지 않습니다"),
TECH_STACK_ALREADY_EXISTS(HttpStatus.CONFLICT, "MEMBER_1111", "이미 존재하는 기술스택입니다."),
PROJECT_ALREADY_EXISTS(HttpStatus.CONFLICT, "MEMBER_1112", "이미 존재하는 프로젝트입니다."),

// 팀 관련 에러 2000
TEAM_NOT_FOUND(HttpStatus.BAD_REQUEST, "TEAM_2001", "팀이 없습니다."),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,16 @@ public MemberResponseDTO.TechStacksDTO toTechStacksResponseDto(Member member) {
.build();
}

public MemberResponseDTO.ProjectsDTO toProjectsResponseDto(Member member){
return MemberResponseDTO.ProjectsDTO.builder()
.memberId(member.getMemberId())
.projectList(member.getMemberProjectMapList()
.stream()
.map(memberProjectMap -> memberProjectMap.getProject().getProjectName())
.collect(Collectors.toList()))
.build();
}

public static MemberResponseDTO.UserInfoDTO toMemberInfoResponseDto(Member member) {
return MemberResponseDTO.UserInfoDTO.builder()
.memberId(member.getMemberId())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@ public Member setTechStacks(Long memberId, TechStack techstack) {
throw new GeneralException(ErrorStatus.MEMBER_NOT_FOUND);
}

if (member.getTechStackList().stream().anyMatch(stack -> stack.getName().equals(techstack))) {
throw new GeneralException(ErrorStatus.TECH_STACK_ALREADY_EXISTS);
}

List<TechStacks> techStackList = member.getTechStackList();
if (techStackList == null) {
techStackList = new ArrayList<>();
Expand All @@ -216,10 +220,15 @@ public Member setTechStacks(Long memberId, TechStack techstack) {
@Override
public MemberResponseDTO.ProjectsDTO setProjects(Long memberId, String projectName){
Member member = memberRepository.findMemberWithProjects(memberId);
member.getMemberProjectMapList().forEach(map -> map.getProject().getProjectName());
if (member == null) {
throw new GeneralException(ErrorStatus.MEMBER_NOT_FOUND);
}

if(member.getMemberProjectMapList().stream().anyMatch(map -> map.getProject().getProjectName().equals(projectName))){
throw new GeneralException(ErrorStatus.PROJECT_ALREADY_EXISTS);
}

Project project = Project.builder()
.projectName(projectName)
.build();
Expand All @@ -236,6 +245,7 @@ public MemberResponseDTO.ProjectsDTO setProjects(Long memberId, String projectNa
.stream()
.map(map -> map.getProject().getProjectName())
.collect(Collectors.toList());
projectList.add(projectName);

return MemberResponseDTO.ProjectsDTO.builder()
.memberId(member.getMemberId())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ public Page<Bookmark> getBookmarkList(Long memberId, Integer page) {
@Override
public Member getUserProfile(Long userId) {
Member user = memberRepository.findMemberWithTechStacks(userId);
user = memberRepository.findMemberWithTeam(userId);
memberRepository.findMemberWithProjects(userId);
memberRepository.findMemberWithTeam(userId);
if (user == null) {
throw new GeneralException(ErrorStatus.MEMBER_NOT_FOUND);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,6 @@ public ApiResponse<MemberResponseDTO.TechStacksDTO> setTechStacks(@PathVariable(
@Operation(summary = "프로젝트 추가하기", description = "프로젝트 하나씩 추가")
public ApiResponse<?> setProjects(@PathVariable(value = "projectName") String projectName) {
Member member = memberCommandService.getRequester();
memberCommandService.setProjects(member.getMemberId(), projectName);
return ApiResponse.onSuccess(SuccessStatus.MEMBER_OK, memberCommandService.setProjects(member.getMemberId(), projectName));
}
}

0 comments on commit c7a94d8

Please sign in to comment.