diff --git a/src/main/java/com/example/demo/app/domain/service/CourseService.java b/src/main/java/com/example/demo/app/domain/service/CourseService.java index c0831a4..406916f 100644 --- a/src/main/java/com/example/demo/app/domain/service/CourseService.java +++ b/src/main/java/com/example/demo/app/domain/service/CourseService.java @@ -10,4 +10,5 @@ public interface CourseService { public CourseModel findById(Long courseId); + public Long findByName(String courName); } diff --git a/src/main/java/com/example/demo/app/domain/service/QuestionService.java b/src/main/java/com/example/demo/app/domain/service/QuestionService.java new file mode 100644 index 0000000..3d12c8b --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/QuestionService.java @@ -0,0 +1,9 @@ +package com.example.demo.app.domain.service; + +import java.util.List; + +import com.example.demo.app.infra.entity.QuestionEntity; + +public interface QuestionService { + public List findAll(); +} diff --git a/src/main/java/com/example/demo/app/domain/service/UserService.java b/src/main/java/com/example/demo/app/domain/service/UserService.java index f61fa9e..070681d 100644 --- a/src/main/java/com/example/demo/app/domain/service/UserService.java +++ b/src/main/java/com/example/demo/app/domain/service/UserService.java @@ -5,7 +5,7 @@ import com.example.demo.app.presentation.form.UserForm; public interface UserService { - void register(UserForm userForm); + void register(UserForm userForm, Long courseId); public void updateCourse(Long userId, Long courseId); diff --git a/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java index 61a4b7d..cc2f776 100644 --- a/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java @@ -25,4 +25,8 @@ public class CourseServiceImpl implements CourseService { public CourseModel findById(Long courseId) { return CourseModel.convertFrom(courseRepository.findByCourseId(courseId)); } + + public Long findByName(String courseName) { + return courseRepository.findByCourseName(courseName).getCourseId(); + } } diff --git a/src/main/java/com/example/demo/app/domain/service/impl/QuestionServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/QuestionServiceImpl.java new file mode 100644 index 0000000..049cbd0 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/QuestionServiceImpl.java @@ -0,0 +1,23 @@ +package com.example.demo.app.domain.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.service.QuestionService; +import com.example.demo.app.infra.entity.QuestionEntity; +import com.example.demo.app.infra.repository.QuestionRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class QuestionServiceImpl implements QuestionService{ + + private final QuestionRepository questionRepository; + + public List findAll() { + return questionRepository.findAll(); + } + +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java index 00dad91..b4872f7 100644 --- a/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java +++ b/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java @@ -26,7 +26,7 @@ public class UserServiceImpl implements UserService { private final CourseRepository courseRepository; @Override - public void register(UserForm userForm) { + public void register(UserForm userForm, Long courseId) { UserEntity userEntity = new UserEntity(); @@ -48,7 +48,7 @@ public class UserServiceImpl implements UserService { goalRepository.findById(userForm.getGoalId()).orElse(null); CourseEntity courseEntity = - courseRepository.findById(userForm.getCourseId()).orElse(null); + courseRepository.findById(courseId).orElse(null); userEntity.setQuestionEntity(questionEntity); userEntity.setGoalEntity(goalEntity); diff --git a/src/main/java/com/example/demo/app/infra/repository/CourseRepository.java b/src/main/java/com/example/demo/app/infra/repository/CourseRepository.java index 5b74e85..96fb2a9 100644 --- a/src/main/java/com/example/demo/app/infra/repository/CourseRepository.java +++ b/src/main/java/com/example/demo/app/infra/repository/CourseRepository.java @@ -10,5 +10,8 @@ public interface CourseRepository extends JpaRepository { @Query("SELECT c FROM CourseEntity c WHERE c.courseId = :courseId ") public CourseEntity findByCourseId(Long courseId); + @Query("SELECT c FROM CourseEntity c WHERE c.courseName = :courseName ") + public CourseEntity findByCourseName(String courseName); + } diff --git a/src/main/java/com/example/demo/app/presentation/controller/CourseController.java b/src/main/java/com/example/demo/app/presentation/controller/CourseController.java index def92f4..5a5e2cd 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/CourseController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/CourseController.java @@ -39,12 +39,10 @@ public class CourseController { private final UserService userService; - @SessionCheck - @GetMapping("/course/select/register") + @PostMapping("/course/select/register") public String showSelectCourse(@ModelAttribute UserForm userForm, Model model, HttpSession session) { try { - System.out.println(userForm.getMailAddress()); session.setAttribute("userForm", userForm); model.addAttribute("mode", "regist"); 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"; } diff --git a/src/main/java/com/example/demo/app/presentation/form/UserForm.java b/src/main/java/com/example/demo/app/presentation/form/UserForm.java index f5401c6..f145059 100644 --- a/src/main/java/com/example/demo/app/presentation/form/UserForm.java +++ b/src/main/java/com/example/demo/app/presentation/form/UserForm.java @@ -14,10 +14,10 @@ import lombok.NoArgsConstructor; public class UserForm { private String userName; private String mailAddress; + private LocalDate birthDate; private String password; private Long secretQuestionId; - private String SecretAnswer; - private LocalDate birthDate; + private String secretAnswer; private Integer saving; private Integer annualIncome; private Integer monthlyBudget; @@ -29,10 +29,10 @@ public class UserForm { return new UserForm( userModel.getUserName(), userModel.getMailAddress(), + userModel.getBrithDate(), userModel.getPassword(), userModel.getSecretQuestionId(), userModel.getSecretAnswer(), - userModel.getBrithDate(), userModel.getSaving(), userModel.getAnnualIncome(), userModel.getMonthlyBudget(), diff --git a/src/main/resources/templates/select_course.html b/src/main/resources/templates/select_course.html index 0c937e1..7fbda20 100644 --- a/src/main/resources/templates/select_course.html +++ b/src/main/resources/templates/select_course.html @@ -13,6 +13,7 @@
+

diff --git a/src/main/resources/templates/user_register.html b/src/main/resources/templates/user_register.html index 8f4e888..c6ec36b 100644 --- a/src/main/resources/templates/user_register.html +++ b/src/main/resources/templates/user_register.html @@ -11,7 +11,7 @@

新規会員登録

- +
- @@ -109,8 +109,7 @@
- 未選択 - +
diff --git a/src/main/resources/templates/user_register_confirm.html b/src/main/resources/templates/user_register_confirm.html index 1ec83ed..ffbcb85 100644 --- a/src/main/resources/templates/user_register_confirm.html +++ b/src/main/resources/templates/user_register_confirm.html @@ -1,79 +1,98 @@ + - -新規会員登録確認 + + 新規会員登録確認 +
-
- +
+

新規会員登録確認

- -
-

氏名

-

-
- -
-

メールアドレス

-

-
- -
-

生年月日

-

-
- -
-

パスワード

-

********

-
- -
-

秘密の質問

-

-
- -
-

秘密の質問の回答

-

-
- -
-

貯蓄金

-

-
- -
-

年収

-

-
- -
-

月別使用可能額

-

-
- -
-

目標

-

-
- -
-

コース

-

-
- -
- - - -
-
- + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + 未選択 + +
+ +
+ +
+
+ + +
+
+ +
+ + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/user_register_return.html b/src/main/resources/templates/user_register_return.html new file mode 100644 index 0000000..4ecd680 --- /dev/null +++ b/src/main/resources/templates/user_register_return.html @@ -0,0 +1,126 @@ + + + + +新規会員登録 + + +
+
+ +
+

新規会員登録

+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + 未選択 + +
+ +
+ +
+
+ +
+ +
+ +
+ + \ No newline at end of file