Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .gradle/6.7.1/javaCompile/taskHistory.bin
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package com.example.interviewPrep.quiz.answer.domain;

import com.example.interviewPrep.quiz.domain.BaseTimeEntity;

import com.example.interviewPrep.quiz.heart.exception.HeartExistException;
import com.example.interviewPrep.quiz.interview.domain.Interview;
import com.example.interviewPrep.quiz.member.domain.Member;
import com.example.interviewPrep.quiz.question.domain.Question;
import com.example.interviewPrep.quiz.heart.exception.HeartExistException;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.*;

import java.util.Objects;

import static javax.persistence.FetchType.LAZY;
Expand All @@ -21,21 +19,17 @@
@NoArgsConstructor
public class Answer extends BaseTimeEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Lob
private String content;

@ManyToOne(fetch = LAZY)
@JoinColumn(name = "QUESTION_ID")
Question question;

@ManyToOne(fetch = LAZY)
@JoinColumn(name = "MEMBER_ID")
Member member;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Lob
private String content;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "INTERVIEW_ID")
private Interview interview;
Expand All @@ -47,7 +41,8 @@ public class Answer extends BaseTimeEntity {
@Version
private Long version;

public Answer(Long id, String content, Question question, Member member, Interview interview, int commentCnt, int heartCnt, Long version){
@Builder
public Answer(Long id, String content, Question question, Member member, Interview interview, int commentCnt, int heartCnt, Long version) {
Objects.requireNonNull(id, "id가 null입니다.");
Objects.requireNonNull(question, "question이 null입니다.");
Objects.requireNonNull(member, "member이 null입니다.");
Expand All @@ -63,7 +58,15 @@ public Answer(Long id, String content, Question question, Member member, Intervi
}


public void change(String content){
public static Answer createAnswerEntity(Member member, Question question, String content) {
return Answer.builder()
.member(member)
.question(question)
.build();
}


public void change(String content) {
this.content = content;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.example.interviewPrep.quiz.question.domain;

import com.example.interviewPrep.quiz.domain.BaseTimeEntity;
import lombok.*;
import com.example.interviewPrep.quiz.question.dto.QuestionRequest;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -18,27 +16,25 @@ public class Question extends BaseTimeEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "QUESTION_ID")
private Long id;
private String title;
private String type;
private String difficulty;
private boolean freeOfCharge;

@Builder
public Question(Long id, String title, String type, String difficulty, boolean freeOfCharge) {
Objects.requireNonNull(id, "id가 null입니다.");
public Question(String title, String type, String difficulty, boolean freeOfCharge) {
Objects.requireNonNull(title, "title이 null입니다.");
Objects.requireNonNull(type, "type이 null입니다.");
Objects.requireNonNull(difficulty, "difficulty가 null입니다.");

this.id = id;
this.title = title;
this.type = type;
this.difficulty = difficulty;
this.freeOfCharge = freeOfCharge;
}


public void changeTitleOrType(String title, String type) {
this.title = title;
this.type = type;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@
@Getter
public class QuestionRequest {

private final Long id;
private final String title;
private final String type;
private final boolean status;
private final String difficulty;
private final boolean freeOfCharge;

@Builder
public QuestionRequest(Long id, String title, String type, boolean status) {
Objects.requireNonNull(id, "id가 null입니다.");
public QuestionRequest(String title, String type, String difficulty, boolean freeOfCharge) {
Objects.requireNonNull(title, "title이 null입니다.");
Objects.requireNonNull(type, "type이 null입니다.");
Objects.requireNonNull(difficulty, "difficulty가 null입니다.");

this.id = id;
this.title = title;
this.type = type;
this.status = status;
this.difficulty = difficulty;
this.freeOfCharge = freeOfCharge;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import java.util.stream.Collectors;

import static com.example.interviewPrep.quiz.exception.advice.ErrorCode.NOT_FOUND_QUESTION;
import static com.example.interviewPrep.quiz.question.domain.Question.createQuestionByQuestionRequest;
import static com.example.interviewPrep.quiz.question.dto.QuestionResponse.createQuestionResponse;


Expand All @@ -39,7 +38,12 @@ public QuestionService(QuestionRepository questionRepository, AnswerRepository a


public Question createQuestion(QuestionRequest questionRequest) {
Question question = createQuestionByQuestionRequest(questionRequest);
String title = questionRequest.getTitle();
String type = questionRequest.getType();
String difficulty = questionRequest.getDifficulty();
boolean freeOfCharge = false;

Question question = new Question(title, type, difficulty, freeOfCharge);
questionRepository.save(question);
return question;
}
Expand All @@ -52,7 +56,7 @@ public QuestionResponse getQuestion(Long id) {

public Question updateQuestion(Long id, QuestionRequest questionRequest) {
Question question = findQuestion(id);
question.change(questionRequest.getTitle(), questionRequest.getType());
question.changeTitleOrType(questionRequest.getTitle(), questionRequest.getType());
return question;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


import com.example.interviewPrep.quiz.company.domain.Company;
import com.example.interviewPrep.quiz.domain.BaseTimeEntity;
import com.example.interviewPrep.quiz.question.domain.Question;
import lombok.Builder;
import lombok.Getter;
Expand All @@ -12,30 +13,29 @@
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import java.util.Objects;

import static javax.persistence.FetchType.LAZY;

@Entity
@Getter
@Setter
@Builder
@NoArgsConstructor
public class QuestionCompany {
public class QuestionCompany extends BaseTimeEntity {

@Id
private Long id;

@ManyToOne(fetch = LAZY)
@JoinColumn(name="QUESTION_ID")
@JoinColumn(name = "QUESTION_ID")
private Question question;

@Id
@ManyToOne(fetch = LAZY)
@JoinColumn(name="COMPANY_ID")
@JoinColumn(name = "COMPANY_ID")
private Company company;


public QuestionCompany(Question question, Company company){
@Builder
public QuestionCompany(Question question, Company company) {

Objects.requireNonNull(question, "question이 null입니다.");
Objects.requireNonNull(company, "company가 null입니다.");
Expand Down