[HOTFIX] 質問の読み込み、コース名のセッション変数登録、DB登録機能追加など。
This commit is contained in:
@@ -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,66 +12,82 @@ 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";
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/user/register/return")
|
@PostMapping("/user/register/return")
|
||||||
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(
|
||||||
if(userForm == null) {
|
"######################################################################3" + userForm.getBirthDate());
|
||||||
userForm = new UserForm();
|
|
||||||
|
if (userForm.getUserName().equals("")) {
|
||||||
|
userForm = new UserForm();
|
||||||
userForm.setCourseId(courseId);
|
userForm.setCourseId(courseId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(courseId != null) {
|
if (courseId != null) {
|
||||||
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";
|
||||||
|
}
|
||||||
|
|
||||||
|
@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")
|
@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");
|
|
||||||
|
userService.register(userForm, courseId);
|
||||||
// DBへの登録処理
|
|
||||||
|
return "redirect:/login";
|
||||||
session.removeAttribute("userForm");
|
|
||||||
|
|
||||||
return "redirect:/login";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user