Skip to content

Commit

Permalink
Merge pull request #40 from cau-likelion-org/chore/SL-16/interview
Browse files Browse the repository at this point in the history
[SL-16 CHORE] interview 수정사항
  • Loading branch information
jinyoungpark00 committed Dec 29, 2023
2 parents 1f45e89 + 6496e1f commit 403999b
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.startlion.startlionserver.controller;


import com.startlion.startlionserver.dto.response.interview.InterviewDetailResponse;
import com.startlion.startlionserver.dto.response.interview.InterviewResponse;
import com.startlion.startlionserver.service.InterviewService;
import io.swagger.v3.oas.annotations.Operation;
Expand Down Expand Up @@ -33,7 +34,7 @@ public ResponseEntity<List<InterviewResponse>> getInterviews() {

@Operation(summary = "interviewId로 interview 정보 조회")
@GetMapping("/{interviewId}")
public ResponseEntity<InterviewResponse> getInterviewById(@PathVariable Long interviewId) {
public ResponseEntity<InterviewDetailResponse> getInterviewById(@PathVariable Long interviewId) {
val response = interviewService.getInterviewById(interviewId);
return ResponseEntity.ok(response);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ public class Application extends BaseTimeEntity {
private Part part;
// application page 1 end


@ColumnDefault("''")
private String portfolio;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@ public class InterviewContent {
@Column(length = 400)
private String answer;

@Column
private String boldAnswer;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.startlion.startlionserver.dto.response.interview;


import com.startlion.startlionserver.domain.entity.Interview;
import com.startlion.startlionserver.dto.response.interviewanswer.InterviewAnswerResponse;

import java.util.List;

public record InterviewDetailResponse(
Long interviewId,
Long generation,
String part,
String name,
String major,
String oneLineAnswer,
String imageUrl,
List<InterviewAnswerResponse> interviewAnswers
) {

public static InterviewDetailResponse of(Interview interview, List<InterviewAnswerResponse> interviewAnswers) {
return new InterviewDetailResponse(
interview.getInterviewId(),
interview.getGeneration(),
interview.getPart(),
interview.getName(),
interview.getMajor(),
interview.getOneLineAnswer(),
interview.getImageUrl(),
interviewAnswers
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
import java.util.List;

public record InterviewListResponse(
List<InterviewResponse> interviews
List<InterviewDetailResponse> interviews
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,19 @@

public record InterviewResponse(
Long interviewId,
String title,
Long generation,
String part,
String major,
String name,
String oneLineContent,
String oneLineAnswer,
String imageUrl,
List<InterviewAnswerResponse> interviewAnswers
String part,
String OneLineContent
) {

public static InterviewResponse of(Interview interview, List<InterviewAnswerResponse> interviewAnswers) {
public static InterviewResponse of(Interview interview) {
return new InterviewResponse(
interview.getInterviewId(),
interview.getTitle(),
interview.getGeneration(),
interview.getPart(),
interview.getMajor(),
interview.getName(),
interview.getOneLineContent(),
interview.getOneLineAnswer(),
interview.getImageUrl(),
interviewAnswers
interview.getPart(),
interview.getOneLineContent()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
public record InterviewAnswerResponse(
Long interviewAnswerId,
String question,
String boldAnswer,
String answer

) {

public static InterviewAnswerResponse of(InterviewContent interviewContent) {
return new InterviewAnswerResponse(
interviewContent.getInterviewAnswerId(),
interviewContent.getQuestion(),
interviewContent.getBoldAnswer(),
interviewContent.getAnswer());
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.startlion.startlionserver.service;

import com.startlion.startlionserver.domain.entity.Interview;
import com.startlion.startlionserver.dto.response.interview.InterviewDetailResponse;
import com.startlion.startlionserver.dto.response.interview.InterviewResponse;
import com.startlion.startlionserver.dto.response.interviewanswer.InterviewAnswerResponse;
import com.startlion.startlionserver.repository.InterviewAnswerJpaRepository;
Expand All @@ -20,25 +21,22 @@ public class InterviewService {
private final InterviewJpaRepository interviewJpaRepository;
private final InterviewAnswerJpaRepository interviewAnswerJpaRepository;

public InterviewResponse getInterviewById(Long interviewId) {
public InterviewDetailResponse getInterviewById(Long interviewId) {
Interview interview = interviewJpaRepository.findById(interviewId)
.orElseThrow( () -> new IllegalArgumentException("해당하는 인터뷰가 없습니다."));

List<InterviewAnswerResponse> interviewAnswerResponses = interviewAnswerJpaRepository.findByInterview(interview)
.stream()
.map(InterviewAnswerResponse::of)
.toList();
return InterviewResponse.of(interview, interviewAnswerResponses);
return InterviewDetailResponse.of(interview, interviewAnswerResponses);
}

public List<InterviewResponse> getInterviews() {
return interviewJpaRepository.findAll()
.stream()
.map(interview ->
InterviewResponse.of(interview, interviewAnswerJpaRepository.findByInterview(interview)
.stream()
.map(InterviewAnswerResponse::of)
.toList()))
InterviewResponse.of(interview))
.toList();
}

Expand Down

0 comments on commit 403999b

Please sign in to comment.