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
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.onestep.server.controller.quiz;

import com.onestep.server.entity.Quiz;
import com.onestep.server.entity.quiz.QuizDTO;
import com.onestep.server.entity.quiz.QuizRequestDTO;
import com.onestep.server.service.quiz.QuizService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequiredArgsConstructor
@Slf4j
public class QuizController {

private final QuizService quizService;
@PostMapping(value = "/quiz/create")
public String writeQuiz(@RequestBody QuizRequestDTO quizRequestDTO){
quizService.writeQuiz(quizRequestDTO);
return quizRequestDTO.getUser_id()+"님이 작성한 퀴즈가 등록되었습니다.";
}
}
37 changes: 37 additions & 0 deletions src/main/java/com/onestep/server/entity/quiz/QuizDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.onestep.server.entity.quiz;

import com.onestep.server.entity.Quiz;
import com.onestep.server.entity.User;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
@NoArgsConstructor
public class QuizDTO {

private User user;
private String quiz_txt;
private String answer1;
private String answer2;
private String answer3;
private String answer4;
private Integer quiz_ans;
private Date write_date;

public Quiz toEntity(){
return Quiz.builder()
.quiz_id(null)
.user(user)
.quiz_txt(quiz_txt)
.answer1(answer1)
.answer2(answer2)
.answer3(answer3)
.answer4(answer4)
.quiz_ans(quiz_ans)
.write_date(write_date).build();
}
}
21 changes: 21 additions & 0 deletions src/main/java/com/onestep/server/entity/quiz/QuizRequestDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.onestep.server.entity.quiz;

import com.onestep.server.entity.User;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
@NoArgsConstructor
public class QuizRequestDTO {
private String user_id;
private String quiz_txt;
private String answer1;
private String answer2;
private String answer3;
private String answer4;
private Integer quiz_ans;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.onestep.server.repository;

import com.onestep.server.entity.Quiz;
import org.springframework.data.jpa.repository.JpaRepository;

public interface IQuizRepository extends JpaRepository<Quiz, Long> {

}
42 changes: 42 additions & 0 deletions src/main/java/com/onestep/server/service/quiz/QuizService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.onestep.server.service.quiz;

import com.onestep.server.entity.Quiz;
import com.onestep.server.entity.User;
import com.onestep.server.entity.quiz.QuizDTO;
import com.onestep.server.entity.quiz.QuizRequestDTO;
import com.onestep.server.repository.IQuizRepository;
import com.onestep.server.repository.IUserRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.Optional;

@Slf4j
@Service
@RequiredArgsConstructor
@Transactional
public class QuizService {
private final IQuizRepository iQuizRepository;
private final IUserRepository iUserRepository;
public Quiz writeQuiz(QuizRequestDTO quizRequestDTO){
Optional<User> optionalUser = iUserRepository.findById(quizRequestDTO.getUser_id());
User user = optionalUser.get();

Date date = new Date();
QuizDTO quizDTO = new QuizDTO();
quizDTO.setUser(user);
quizDTO.setQuiz_txt(quizRequestDTO.getQuiz_txt());
quizDTO.setAnswer1(quizRequestDTO.getAnswer1());
quizDTO.setAnswer2(quizRequestDTO.getAnswer2());
quizDTO.setAnswer3(quizRequestDTO.getAnswer3());
quizDTO.setAnswer4(quizRequestDTO.getAnswer4());
quizDTO.setQuiz_ans(quizRequestDTO.getQuiz_ans());
quizDTO.setWrite_date(date);

Quiz addQuiz = iQuizRepository.save(quizDTO.toEntity());
return addQuiz;
}
}