diff --git a/src/main/java/com/example/demo/app/presentation/controller/UserController.java b/src/main/java/com/example/demo/app/presentation/controller/UserController.java index 84f2f0c..d009d29 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/UserController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/UserController.java @@ -1,5 +1,7 @@ package com.example.demo.app.presentation.controller; +import java.util.List; + import jakarta.servlet.http.HttpSession; import org.springframework.stereotype.Controller; @@ -10,66 +12,82 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import com.example.demo.app.domain.service.CourseService; +import com.example.demo.app.domain.service.QuestionService; +import com.example.demo.app.domain.service.UserService; +import com.example.demo.app.infra.entity.QuestionEntity; import com.example.demo.app.presentation.form.UserForm; import lombok.RequiredArgsConstructor; - @Controller @RequiredArgsConstructor public class UserController { - + + private final UserService userService; + private final CourseService courseService; - + + private final QuestionService questionService; + + @GetMapping("/user/register") public String showRegister(Model model, HttpSession session) { UserForm userForm = new UserForm(); - + + List questionList = questionService.findAll(); + + session.setAttribute("questionList", questionList); + model.addAttribute("userForm", userForm); return "user_register"; } - + @PostMapping("/user/register/return") public String showRegisterReturn(@RequestParam(required = false) Long courseId, Model model, HttpSession session) { - + UserForm userForm = (UserForm) session.getAttribute("userForm"); - - if(userForm == null) { - userForm = new UserForm(); + System.out.println( + "######################################################################3" + userForm.getBirthDate()); + + if (userForm.getUserName().equals("")) { + userForm = new UserForm(); userForm.setCourseId(courseId); } - - if(courseId != null) { + + if (courseId != null) { model.addAttribute("selectedCourseName", courseService.findById(courseId).getCourseName()); } - + + session.setAttribute("selectedCourseName", courseService.findById(courseId).getCourseName()); model.addAttribute("courseId", courseId); + System.out.println( + "######################################################################3" + userForm.getBirthDate()); model.addAttribute("userForm", userForm); + + return "user_register_return"; + } + + @GetMapping("/user/register/confirm") + public String confirmRegisterGet(@ModelAttribute UserForm userForm, + String selectedCourseName, Model model, + HttpSession session) { + + model.addAttribute("selectedCourseName", (String) session.getAttribute("selectedCourseName")); + return "user_register_confirm"; - return "user_register"; } - - @PostMapping("/user/register/confirm") - public String confirmRegister( - @ModelAttribute UserForm userForm, - HttpSession session) { - session.setAttribute("userForm", userForm); - - return "user_register_confirm"; - } - @PostMapping("/user/register/complete") - public String completeRegister(HttpSession session) { + public String confirmRegister( + @ModelAttribute UserForm userForm, + Model model, + HttpSession session) { - UserForm userForm = - (UserForm) session.getAttribute("userForm"); - - // DBへの登録処理 - - session.removeAttribute("userForm"); - - return "redirect:/login"; + Long courseId = courseService.findByName((String) session.getAttribute("selectedCourseName")); + + userService.register(userForm, courseId); + + return "redirect:/login"; }