Skip to content

Commit

Permalink
Merge pull request #49 from PowerSupply-ES/feature-admin-member
Browse files Browse the repository at this point in the history
멤버 detail 불러오기에 속성 추가
  • Loading branch information
byeon22 authored Jul 10, 2024
2 parents a5cd844 + e43c554 commit d574a34
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 33 deletions.
9 changes: 8 additions & 1 deletion src/main/java/com/powersupply/PES/domain/dto/ManageDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;

public class ManageDTO {

// 문제 관리 기능 관련
Expand Down Expand Up @@ -85,15 +88,19 @@ public static class MemberDetail {
private String memberMajor; // 학과
private String memberStatus; // 상태
private String memberEmail; // 이메일
private List<MemberDTO.MemberMySolveResponse> mySolveResponse;
private List<MemberDTO.MemberMyFeedbackResponse> myFeedbackResponse;

@Builder
public MemberDetail(MemberEntity member) {
public MemberDetail(MemberEntity member, List<MemberDTO.MemberMySolveResponse> mySolveResponse, List<MemberDTO.MemberMyFeedbackResponse> myFeedbackResponse) {
this.memberId = member.getMemberId();
this.memberName = member.getMemberName();
this.memberGen = member.getMemberGen();
this.memberMajor = member.getMemberMajor();
this.memberStatus = member.getMemberStatus();
this.memberEmail = member.getMemberEmail();
this.mySolveResponse = mySolveResponse;
this.myFeedbackResponse = myFeedbackResponse;
}
}

Expand Down
29 changes: 29 additions & 0 deletions src/main/java/com/powersupply/PES/mapper/MapperUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.powersupply.PES.mapper;

import com.powersupply.PES.domain.dto.MemberDTO;
import com.powersupply.PES.domain.entity.AnswerEntity;
import com.powersupply.PES.domain.entity.CommentEntity;

public class MapperUtils {

public static MemberDTO.MemberMySolveResponse toMemberMySolveResponse(AnswerEntity answerEntity) {
return MemberDTO.MemberMySolveResponse.builder()
.problemId(answerEntity.getProblemEntity().getProblemId())
.problemTitle(answerEntity.getProblemEntity().getProblemTitle())
.problemScore(answerEntity.getProblemEntity().getProblemScore())
.answerId(answerEntity.getAnswerId())
.answerState(answerEntity.getAnswerState())
.finalScore(answerEntity.getFinalScore())
.build();
}

public static MemberDTO.MemberMyFeedbackResponse toMemberMyFeedbackResponse(CommentEntity commentEntity) {
return MemberDTO.MemberMyFeedbackResponse.builder()
.answerId(commentEntity.getAnswerEntity().getAnswerId())
.memberGen(commentEntity.getAnswerEntity().getMemberEntity().getMemberGen())
.memberName(commentEntity.getAnswerEntity().getMemberEntity().getMemberName())
.commentPassFail(commentEntity.getCommentPassFail())
.commentContent(commentEntity.getCommentContent())
.build();
}
}
26 changes: 19 additions & 7 deletions src/main/java/com/powersupply/PES/service/ManageService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
import com.powersupply.PES.domain.entity.*;
import com.powersupply.PES.exception.AppException;
import com.powersupply.PES.exception.ErrorCode;
import com.powersupply.PES.repository.AnswerRepository;
import com.powersupply.PES.repository.MemberRepository;
import com.powersupply.PES.repository.ProblemRepository;
import com.powersupply.PES.repository.QuestionRepository;
import com.powersupply.PES.mapper.MapperUtils;
import com.powersupply.PES.repository.*;
import com.powersupply.PES.utils.JwtUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
Expand All @@ -30,6 +28,7 @@ public class ManageService {
private final ProblemRepository problemRepository;
private final QuestionRepository questionRepository;
private final AnswerRepository answerRepository;
private final CommentRepository commentRepository;

/* ---------- 문제 관리 기능 관련 ---------- */

Expand Down Expand Up @@ -108,9 +107,22 @@ public List<ManageDTO.MemberList> list() {

// 특정 멤버 detail 불러오기
public ManageDTO.MemberDetail readDetail(String memberId) {
return memberRepository.findById(memberId)
.map(ManageDTO.MemberDetail::new)
.orElseThrow(() -> new IllegalArgumentException("해당 id가 존재하지 않습니다."));
MemberEntity member = memberRepository.findById(memberId)
.orElseThrow(() -> new AppException(ErrorCode.NOT_FOUND,"해당 memberId가 없습니다."));

List<MemberDTO.MemberMySolveResponse> mySolveResponseList = answerRepository.findAllByMemberEntity_MemberId(memberId).stream()
.map(MapperUtils::toMemberMySolveResponse)
.collect(Collectors.toList());

List<MemberDTO.MemberMyFeedbackResponse> myFeedbackResponseList = commentRepository.findAllByMemberEntity_MemberId(memberId).stream()
.map(MapperUtils::toMemberMyFeedbackResponse)
.collect(Collectors.toList());

return ManageDTO.MemberDetail.builder()
.member(member)
.mySolveResponse(mySolveResponseList)
.myFeedbackResponse(myFeedbackResponseList)
.build();
}

// 멤버 삭제하기
Expand Down
34 changes: 9 additions & 25 deletions src/main/java/com/powersupply/PES/service/MemberService.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.powersupply.PES.domain.entity.MemberEntity;
import com.powersupply.PES.exception.AppException;
import com.powersupply.PES.exception.ErrorCode;
import com.powersupply.PES.mapper.MapperUtils;
import com.powersupply.PES.repository.*;
import com.powersupply.PES.utils.JwtUtil;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -157,19 +158,10 @@ public ResponseEntity<?> getMySolve() {
return ResponseEntity.noContent().build();
}

List<MemberDTO.MemberMySolveResponse> mySolveResponseList = new ArrayList<>();

for (AnswerEntity answerEntity: answerEntityList) {
MemberDTO.MemberMySolveResponse mySolveResponse = MemberDTO.MemberMySolveResponse.builder()
.problemId(answerEntity.getProblemEntity().getProblemId())
.problemTitle(answerEntity.getProblemEntity().getProblemTitle())
.problemScore(answerEntity.getProblemEntity().getProblemScore())
.answerId(answerEntity.getAnswerId())
.answerState(answerEntity.getAnswerState())
.finalScore(answerEntity.getFinalScore())
.build();
mySolveResponseList.add(mySolveResponse);
}
List<MemberDTO.MemberMySolveResponse> mySolveResponseList = answerRepository.findAllByMemberEntity_MemberId(id).stream()
.map(MapperUtils::toMemberMySolveResponse)
.collect(Collectors.toList());

return ResponseEntity.ok().body(mySolveResponseList);
}

Expand All @@ -184,18 +176,10 @@ public ResponseEntity<?> getMyFeedback() {
return ResponseEntity.noContent().build();
}

List<MemberDTO.MemberMyFeedbackResponse> memberMyFeedbackResponseList = new ArrayList<>();

for (CommentEntity commentEntity : commentEntityList) {
MemberDTO.MemberMyFeedbackResponse myFeedbackResponse = MemberDTO.MemberMyFeedbackResponse.builder()
.answerId(commentEntity.getAnswerEntity().getAnswerId())
.memberGen(commentEntity.getAnswerEntity().getMemberEntity().getMemberGen())
.memberName(commentEntity.getAnswerEntity().getMemberEntity().getMemberName())
.commentPassFail(commentEntity.getCommentPassFail())
.commentContent(commentEntity.getCommentContent())
.build();
memberMyFeedbackResponseList.add(myFeedbackResponse);
}
List<MemberDTO.MemberMyFeedbackResponse> memberMyFeedbackResponseList = commentRepository.findAllByMemberEntity_MemberId(id).stream()
.map(MapperUtils::toMemberMyFeedbackResponse)
.collect(Collectors.toList());

return ResponseEntity.ok().body(memberMyFeedbackResponseList);
}

Expand Down

0 comments on commit d574a34

Please sign in to comment.