[HOTFIX] 質問の読み込み、コース名のセッション変数登録、DB登録機能追加など。

This commit is contained in:
s-choi
2026-09-24 10:02:22 +09:00
parent 51310bae25
commit e2ddffcc60

View File

@@ -1,5 +1,7 @@
package com.example.demo.app.presentation.controller; package com.example.demo.app.presentation.controller;
import java.util.List;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@@ -10,21 +12,32 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import com.example.demo.app.domain.service.CourseService; 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 com.example.demo.app.presentation.form.UserForm;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@Controller @Controller
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserController { public class UserController {
private final UserService userService;
private final CourseService courseService; private final CourseService courseService;
private final QuestionService questionService;
@GetMapping("/user/register") @GetMapping("/user/register")
public String showRegister(Model model, HttpSession session) { public String showRegister(Model model, HttpSession session) {
UserForm userForm = new UserForm(); UserForm userForm = new UserForm();
List<QuestionEntity> questionList = questionService.findAll();
session.setAttribute("questionList", questionList);
model.addAttribute("userForm", userForm); model.addAttribute("userForm", userForm);
return "user_register"; return "user_register";
} }
@@ -33,8 +46,10 @@ public class UserController {
public String showRegisterReturn(@RequestParam(required = false) Long courseId, Model model, HttpSession session) { public String showRegisterReturn(@RequestParam(required = false) Long courseId, Model model, HttpSession session) {
UserForm userForm = (UserForm) session.getAttribute("userForm"); UserForm userForm = (UserForm) session.getAttribute("userForm");
System.out.println(
"######################################################################3" + userForm.getBirthDate());
if(userForm == null) { if (userForm.getUserName().equals("")) {
userForm = new UserForm(); userForm = new UserForm();
userForm.setCourseId(courseId); userForm.setCourseId(courseId);
} }
@@ -43,31 +58,34 @@ public class UserController {
model.addAttribute("selectedCourseName", courseService.findById(courseId).getCourseName()); model.addAttribute("selectedCourseName", courseService.findById(courseId).getCourseName());
} }
session.setAttribute("selectedCourseName", courseService.findById(courseId).getCourseName());
model.addAttribute("courseId", courseId); model.addAttribute("courseId", courseId);
System.out.println(
"######################################################################3" + userForm.getBirthDate());
model.addAttribute("userForm", userForm); model.addAttribute("userForm", userForm);
return "user_register"; return "user_register_return";
} }
@PostMapping("/user/register/confirm") @GetMapping("/user/register/confirm")
public String confirmRegister( public String confirmRegisterGet(@ModelAttribute UserForm userForm,
@ModelAttribute UserForm userForm, String selectedCourseName, Model model,
HttpSession session) { HttpSession session) {
session.setAttribute("userForm", userForm); model.addAttribute("selectedCourseName", (String) session.getAttribute("selectedCourseName"));
return "user_register_confirm"; return "user_register_confirm";
} }
@PostMapping("/user/register/complete") @PostMapping("/user/register/complete")
public String completeRegister(HttpSession session) { public String confirmRegister(
@ModelAttribute UserForm userForm,
Model model,
HttpSession session) {
UserForm userForm = Long courseId = courseService.findByName((String) session.getAttribute("selectedCourseName"));
(UserForm) session.getAttribute("userForm");
// DBへの登録処理 userService.register(userForm, courseId);
session.removeAttribute("userForm");
return "redirect:/login"; return "redirect:/login";
} }