From 6d494e1ac1c8da8cb9331289486ef011c85be6f8 Mon Sep 17 00:00:00 2001 From: n-kawahito Date: Fri, 18 Sep 2026 09:37:07 +0900 Subject: [PATCH 1/4] Merge branch 'k-oshita' of https://gitea.it-college.co.jp/2026_09_5H_Spring_KIZAKI/Monegement into n-kawahito --- .../app/domain/service/CourseInfoService.java | 10 --- .../app/domain/service/CourseService.java | 11 ---- .../domain/service/PasswordResetService.java | 8 --- .../demo/app/domain/service/UserService.java | 8 --- .../service/impl/CourseInfoServiceImpl.java | 23 ------- .../service/impl/CourseServiceImpl.java | 24 -------- .../impl/PasswordResetServiceImpl.java | 41 ------------- .../domain/service/impl/UserServiceImpl.java | 58 ------------------ .../controller/AnalysisController.java | 15 +++-- .../controller/PasswordResetController.java | 61 ------------------- .../controller/UserController.java | 49 --------------- .../app/presentation/form/AnalysisForm.java | 32 ---------- .../form/CategoryAnalysisForm.java | 48 --------------- .../presentation/form/PasswordResetForm.java | 13 ---- .../demo/app/presentation/form/UserForm.java | 24 -------- src/main/resources/templates/analysis.html | 8 +-- .../resources/templates/password_reset.html | 42 ------------- .../templates/user_register_confirm.html | 2 +- 18 files changed, 10 insertions(+), 467 deletions(-) delete mode 100644 src/main/java/com/example/demo/app/domain/service/CourseInfoService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/CourseService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/PasswordResetService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/UserService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java delete mode 100644 src/main/java/com/example/demo/app/presentation/controller/UserController.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/UserForm.java delete mode 100644 src/main/resources/templates/password_reset.html diff --git a/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java b/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java deleted file mode 100644 index 83cf4ab..0000000 --- a/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.app.domain.service; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseInfoModel; - -public interface CourseInfoService { - - public List findAll(); -} 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 deleted file mode 100644 index 4681860..0000000 --- a/src/main/java/com/example/demo/app/domain/service/CourseService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.demo.app.domain.service; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseModel; - -public interface CourseService { - - public List findAll(); - -} diff --git a/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java b/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java deleted file mode 100644 index ec1140e..0000000 --- a/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.demo.app.domain.service; - -import com.example.demo.app.presentation.form.PasswordResetForm; - -public interface PasswordResetService { - - boolean resetPassword(Long userId, PasswordResetForm passwordResetForm); -} 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 deleted file mode 100644 index 4a7a338..0000000 --- a/src/main/java/com/example/demo/app/domain/service/UserService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.demo.app.domain.service; - -import com.example.demo.app.presentation.form.UserForm; - -public interface UserService { - - void register(UserForm userForm); -} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java deleted file mode 100644 index 4658a18..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.model.CourseInfoModel; -import com.example.demo.app.domain.service.CourseInfoService; -import com.example.demo.app.infra.repository.AllocationRepository; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class CourseInfoServiceImpl implements CourseInfoService { - - private final AllocationRepository allocationRepository; - - @Override - public List findAll() { - return allocationRepository.findAllJoinedAllocation(); - } -} 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 deleted file mode 100644 index a4dec5f..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.model.CourseModel; -import com.example.demo.app.domain.service.CourseService; -import com.example.demo.app.infra.entity.CourseEntity; -import com.example.demo.app.infra.repository.CourseRepository; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class CourseServiceImpl implements CourseService { - - private final CourseRepository courseRepository; - - public List findAll(){ - return CourseEntity.createCourseModelList(courseRepository.findAll()); - } - -} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java deleted file mode 100644 index 2866cea..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.service.PasswordResetService; -import com.example.demo.app.infra.entity.UserEntity; -import com.example.demo.app.infra.repository.UserRepository; -import com.example.demo.app.presentation.form.PasswordResetForm; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class PasswordResetServiceImpl implements PasswordResetService { - - private final UserRepository userRepository; - - @Override - public boolean resetPassword( - Long userId, - PasswordResetForm passwordResetForm) { - - if (!passwordResetForm.getPassword() - .equals(passwordResetForm.getPasswordConfirm())) { - return false; - } - - UserEntity userEntity = - userRepository.findById(userId).orElse(null); - - if (userEntity == null) { - return false; - } - - userEntity.setPassword(passwordResetForm.getPassword()); - - userRepository.save(userEntity); - - return true; - } -} 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 deleted file mode 100644 index a74f42b..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.service.UserService; -import com.example.demo.app.infra.entity.CourseEntity; -import com.example.demo.app.infra.entity.GoalEntity; -import com.example.demo.app.infra.entity.QuestionEntity; -import com.example.demo.app.infra.entity.UserEntity; -import com.example.demo.app.infra.repository.CourseRepository; -import com.example.demo.app.infra.repository.GoalRepository; -import com.example.demo.app.infra.repository.QuestionRepository; -import com.example.demo.app.infra.repository.UserRepository; -import com.example.demo.app.presentation.form.UserForm; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class UserServiceImpl implements UserService { - - private final UserRepository userRepository; - private final QuestionRepository questionRepository; - private final GoalRepository goalRepository; - private final CourseRepository courseRepository; - - @Override - public void register(UserForm userForm) { - - UserEntity userEntity = new UserEntity(); - - userEntity.setUserName(userForm.getUserName()); - userEntity.setMailAddress(userForm.getMailAddress()); - userEntity.setPassword(userForm.getPassword()); - userEntity.setSecretQuestionAnswer(userForm.getSecretAnswer()); - userEntity.setBirthDate(userForm.getBirthDate()); - userEntity.setSaving(userForm.getSaving()); - userEntity.setAnnualIncome(userForm.getAnnualIncome()); - userEntity.setMonthlyBudget(userForm.getMonthlyBudget()); - - QuestionEntity questionEntity = - questionRepository.findById(userForm.getSecretQuestionId()).orElse(null); - - GoalEntity goalEntity = - goalRepository.findById(userForm.getGoalId()).orElse(null); - - CourseEntity courseEntity = - courseRepository.findById(userForm.getCourseId()).orElse(null); - - userEntity.setQuestionEntity(questionEntity); - userEntity.setGoalEntity(goalEntity); - userEntity.setCourseEntity(courseEntity); - - userEntity.setDeleteFlag(0); - - userRepository.save(userEntity); - } -} diff --git a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java index 5bc8cd9..6b48a58 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.GetMapping; import com.example.demo.app.domain.model.AnalysisModel; import com.example.demo.app.domain.model.LoginModel; import com.example.demo.app.domain.service.AnalysisService; -import com.example.demo.app.presentation.form.AnalysisForm; import lombok.RequiredArgsConstructor; @@ -24,15 +23,15 @@ public class AnalysisController { public String showAnalysis(Model model, HttpSession session) { //ログインユーザーの取得(セッション) - LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); - + LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); + //分析結果の取得(Service) - AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); - - AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); - + AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); + + AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); + //model格納 - model.addAttribute("analysisForm", analysisForm); + model.addAttribute("analysisForm", analysisForm); return "analysis"; } diff --git a/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java b/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java deleted file mode 100644 index b5fcfba..0000000 --- a/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.example.demo.app.presentation.controller; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; - -import com.example.demo.app.domain.service.PasswordResetService; -import com.example.demo.app.presentation.form.PasswordResetForm; - -import lombok.RequiredArgsConstructor; - -@Controller -@RequiredArgsConstructor -public class PasswordResetController { - - private final PasswordResetService passwordResetService; - - @GetMapping("/password_reset") - public String showPasswordReset(Model model) { - - model.addAttribute( - "passwordResetForm", - new PasswordResetForm()); - - return "password_reset"; - } - - @PostMapping("/password_reset") - public String resetPassword( - PasswordResetForm passwordResetForm, - Model model, - HttpSession session) { - - Long userId = - (Long) session.getAttribute("passwordResetUserId"); - - if (userId == null) { - return "redirect:/login"; - } - - boolean isReset = - passwordResetService.resetPassword( - userId, - passwordResetForm); - - if (!isReset) { - model.addAttribute( - "errorMessage", - "パスワードが一致していません。"); - - return "password_reset"; - } - - session.removeAttribute("passwordResetUserId"); - - return "redirect:/login"; - } -} 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 deleted file mode 100644 index 7b2aef4..0000000 --- a/src/main/java/com/example/demo/app/presentation/controller/UserController.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.example.demo.app.presentation.controller; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; - -import com.example.demo.app.presentation.form.UserForm; - -import lombok.RequiredArgsConstructor; - -@Controller -@RequiredArgsConstructor -public class UserController { - - @GetMapping("/user/register") - public String showRegister(Model model) { - model.addAttribute("userForm", new UserForm()); - 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) { - - UserForm userForm = - (UserForm) session.getAttribute("userForm"); - - // DBへの登録処理 - - session.removeAttribute("userForm"); - - return "redirect:/login"; - } - - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java deleted file mode 100644 index c9c4202..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.AnalysisModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AnalysisForm { - - private Integer currentMonthTotalAmount; - private Integer previousMonthTotalAmount; - private Integer totalDifferenceAmount; - private List categoryAnalysisFormList; - - public static AnalysisForm convertFrom( - AnalysisModel analysisModel) { - - return new AnalysisForm( - analysisModel.getCurrentMonthTotalAmount(), - analysisModel.getPreviousMonthTotalAmount(), - analysisModel.getTotalDifferenceAmount(), - CategoryAnalysisForm.convertFrom( - analysisModel.getCategoryAnalysisModelList())); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java deleted file mode 100644 index add1762..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.CategoryAnalysisModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CategoryAnalysisForm { - - private String categoryName; - - private Integer currentMonthAmount; - - private Integer previousMonthAmount; - - private Integer monthDifferenceAmount; - - private Integer courseLimitAmount; - - private Integer courseDifferenceAmount; - - public static CategoryAnalysisForm convertFrom( - - CategoryAnalysisModel categoryAnalysisModel) { - return new CategoryAnalysisForm( - categoryAnalysisModel.getCategoryName(), - categoryAnalysisModel.getCurrentMonthAmount(), - categoryAnalysisModel.getPreviousMonthAmount(), - categoryAnalysisModel.getMonthDifferenceAmount(), - categoryAnalysisModel.getCourseLimitAmount(), - categoryAnalysisModel.getCourseDifferenceAmount()); - } - - public static List convertFrom( - List categoryAnalysisModelList) { - - return categoryAnalysisModelList.stream() - .map(CategoryAnalysisForm::convertFrom) - .toList(); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java b/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java deleted file mode 100644 index 3213e1b..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.demo.app.presentation.form; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PasswordResetForm { - private String password; - private String passwordConfirm; -} 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 deleted file mode 100644 index e51f23f..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/UserForm.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.time.LocalDate; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class UserForm { - private String userName; - private String mailAddress; - private String password; - private Long secretQuestionId; - private String SecretAnswer; - private LocalDate birthDate; - private Integer saving; - private Integer annualIncome; - private Integer monthlyBudget; - private Long goalId; - private Long courseId; -} diff --git a/src/main/resources/templates/analysis.html b/src/main/resources/templates/analysis.html index 9f995ef..87fbc0f 100644 --- a/src/main/resources/templates/analysis.html +++ b/src/main/resources/templates/analysis.html @@ -12,7 +12,7 @@ - + @@ -42,11 +42,7 @@ - + diff --git a/src/main/resources/templates/password_reset.html b/src/main/resources/templates/password_reset.html deleted file mode 100644 index 522fd4b..0000000 --- a/src/main/resources/templates/password_reset.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - -パスワード再設定 - - -
- -
-

パスワード再設定

- -
-
- - -
- -
- - -
- - - - -
-

-
-
- - \ No newline at end of file diff --git a/src/main/resources/templates/user_register_confirm.html b/src/main/resources/templates/user_register_confirm.html index 2b35041..aad56dd 100644 --- a/src/main/resources/templates/user_register_confirm.html +++ b/src/main/resources/templates/user_register_confirm.html @@ -1,5 +1,5 @@ - +新規会員登録確認 From aa2a511d2bd30d15b65969a45a9d9b4ad9825be9 Mon Sep 17 00:00:00 2001 From: n-kawahito Date: Fri, 18 Sep 2026 09:41:38 +0900 Subject: [PATCH 2/4] Merge branch 'k-kobayashi' of https://gitea.it-college.co.jp/2026_09_5H_Spring_KIZAKI/Monegement into n-kawahito --- .../app/domain/service/CourseInfoService.java | 10 --- .../app/domain/service/CourseService.java | 11 ---- .../domain/service/PasswordResetService.java | 8 --- .../demo/app/domain/service/UserService.java | 8 --- .../service/impl/AnalysisServiceImpl.java | 4 +- .../service/impl/CourseInfoServiceImpl.java | 23 ------- .../service/impl/CourseServiceImpl.java | 24 -------- .../impl/PasswordResetServiceImpl.java | 41 ------------- .../domain/service/impl/UserServiceImpl.java | 58 ------------------ .../demo/app/infra/entity/CourseEntity.java | 5 -- .../controller/AnalysisController.java | 15 +++-- .../controller/CourseController.java | 2 +- .../controller/PasswordResetController.java | 61 ------------------- .../controller/UserController.java | 49 --------------- .../app/presentation/form/AnalysisForm.java | 32 ---------- .../form/CategoryAnalysisForm.java | 48 --------------- .../presentation/form/PasswordResetForm.java | 13 ---- .../demo/app/presentation/form/UserForm.java | 24 -------- src/main/resources/templates/analysis.html | 20 +++--- .../resources/templates/password_reset.html | 42 ------------- .../resources/templates/select_course.html | 2 +- .../templates/user_register_confirm.html | 2 +- 22 files changed, 21 insertions(+), 481 deletions(-) delete mode 100644 src/main/java/com/example/demo/app/domain/service/CourseInfoService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/CourseService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/PasswordResetService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/UserService.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java delete mode 100644 src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java delete mode 100644 src/main/java/com/example/demo/app/presentation/controller/UserController.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java delete mode 100644 src/main/java/com/example/demo/app/presentation/form/UserForm.java delete mode 100644 src/main/resources/templates/password_reset.html diff --git a/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java b/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java deleted file mode 100644 index 83cf4ab..0000000 --- a/src/main/java/com/example/demo/app/domain/service/CourseInfoService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.app.domain.service; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseInfoModel; - -public interface CourseInfoService { - - public List findAll(); -} 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 deleted file mode 100644 index 4681860..0000000 --- a/src/main/java/com/example/demo/app/domain/service/CourseService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.demo.app.domain.service; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseModel; - -public interface CourseService { - - public List findAll(); - -} diff --git a/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java b/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java deleted file mode 100644 index ec1140e..0000000 --- a/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.demo.app.domain.service; - -import com.example.demo.app.presentation.form.PasswordResetForm; - -public interface PasswordResetService { - - boolean resetPassword(Long userId, PasswordResetForm passwordResetForm); -} 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 deleted file mode 100644 index 4a7a338..0000000 --- a/src/main/java/com/example/demo/app/domain/service/UserService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.demo.app.domain.service; - -import com.example.demo.app.presentation.form.UserForm; - -public interface UserService { - - void register(UserForm userForm); -} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java index d0f3388..0764d41 100644 --- a/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java +++ b/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java @@ -33,7 +33,9 @@ public class AnalysisServiceImpl implements AnalysisService { public AnalysisModel getAnalysis(Long userId) { // ユーザー情報取得、月別使用可能資金取得 - UserEntity userEntity = userRepository.findById(userId).orElseThrow(); + UserEntity userEntity = userRepository.findById(userId).orElseThrow(() -> + new RuntimeException( + "User not found.")); // コースID取得 Long courseId = userEntity.getCourseEntity().getCourseId(); diff --git a/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java deleted file mode 100644 index 4658a18..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/CourseInfoServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.model.CourseInfoModel; -import com.example.demo.app.domain.service.CourseInfoService; -import com.example.demo.app.infra.repository.AllocationRepository; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class CourseInfoServiceImpl implements CourseInfoService { - - private final AllocationRepository allocationRepository; - - @Override - public List findAll() { - return allocationRepository.findAllJoinedAllocation(); - } -} 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 deleted file mode 100644 index a4dec5f..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/CourseServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.model.CourseModel; -import com.example.demo.app.domain.service.CourseService; -import com.example.demo.app.infra.entity.CourseEntity; -import com.example.demo.app.infra.repository.CourseRepository; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class CourseServiceImpl implements CourseService { - - private final CourseRepository courseRepository; - - public List findAll(){ - return CourseEntity.createCourseModelList(courseRepository.findAll()); - } - -} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java deleted file mode 100644 index 2866cea..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.service.PasswordResetService; -import com.example.demo.app.infra.entity.UserEntity; -import com.example.demo.app.infra.repository.UserRepository; -import com.example.demo.app.presentation.form.PasswordResetForm; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class PasswordResetServiceImpl implements PasswordResetService { - - private final UserRepository userRepository; - - @Override - public boolean resetPassword( - Long userId, - PasswordResetForm passwordResetForm) { - - if (!passwordResetForm.getPassword() - .equals(passwordResetForm.getPasswordConfirm())) { - return false; - } - - UserEntity userEntity = - userRepository.findById(userId).orElse(null); - - if (userEntity == null) { - return false; - } - - userEntity.setPassword(passwordResetForm.getPassword()); - - userRepository.save(userEntity); - - return true; - } -} 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 deleted file mode 100644 index a74f42b..0000000 --- a/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.example.demo.app.domain.service.impl; - -import org.springframework.stereotype.Service; - -import com.example.demo.app.domain.service.UserService; -import com.example.demo.app.infra.entity.CourseEntity; -import com.example.demo.app.infra.entity.GoalEntity; -import com.example.demo.app.infra.entity.QuestionEntity; -import com.example.demo.app.infra.entity.UserEntity; -import com.example.demo.app.infra.repository.CourseRepository; -import com.example.demo.app.infra.repository.GoalRepository; -import com.example.demo.app.infra.repository.QuestionRepository; -import com.example.demo.app.infra.repository.UserRepository; -import com.example.demo.app.presentation.form.UserForm; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class UserServiceImpl implements UserService { - - private final UserRepository userRepository; - private final QuestionRepository questionRepository; - private final GoalRepository goalRepository; - private final CourseRepository courseRepository; - - @Override - public void register(UserForm userForm) { - - UserEntity userEntity = new UserEntity(); - - userEntity.setUserName(userForm.getUserName()); - userEntity.setMailAddress(userForm.getMailAddress()); - userEntity.setPassword(userForm.getPassword()); - userEntity.setSecretQuestionAnswer(userForm.getSecretAnswer()); - userEntity.setBirthDate(userForm.getBirthDate()); - userEntity.setSaving(userForm.getSaving()); - userEntity.setAnnualIncome(userForm.getAnnualIncome()); - userEntity.setMonthlyBudget(userForm.getMonthlyBudget()); - - QuestionEntity questionEntity = - questionRepository.findById(userForm.getSecretQuestionId()).orElse(null); - - GoalEntity goalEntity = - goalRepository.findById(userForm.getGoalId()).orElse(null); - - CourseEntity courseEntity = - courseRepository.findById(userForm.getCourseId()).orElse(null); - - userEntity.setQuestionEntity(questionEntity); - userEntity.setGoalEntity(goalEntity); - userEntity.setCourseEntity(courseEntity); - - userEntity.setDeleteFlag(0); - - userRepository.save(userEntity); - } -} diff --git a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java index 3afec50..fc66343 100644 --- a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java @@ -8,7 +8,6 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.OneToMany; -import jakarta.persistence.OneToOne; import jakarta.persistence.Table; import com.example.demo.app.domain.model.CourseModel; @@ -39,10 +38,6 @@ public class CourseEntity { @OneToMany(mappedBy = "courseEntity") private List userEntity; - @OneToOne(mappedBy = "courseEntity") - private AllocationEntity allocationEntity; - - public static List createCourseModelList(List courseEntityList) { return courseEntityList diff --git a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java index 5bc8cd9..6b48a58 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.GetMapping; import com.example.demo.app.domain.model.AnalysisModel; import com.example.demo.app.domain.model.LoginModel; import com.example.demo.app.domain.service.AnalysisService; -import com.example.demo.app.presentation.form.AnalysisForm; import lombok.RequiredArgsConstructor; @@ -24,15 +23,15 @@ public class AnalysisController { public String showAnalysis(Model model, HttpSession session) { //ログインユーザーの取得(セッション) - LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); - + LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); + //分析結果の取得(Service) - AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); - - AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); - + AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); + + AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); + //model格納 - model.addAttribute("analysisForm", analysisForm); + model.addAttribute("analysisForm", analysisForm); return "analysis"; } 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 c9199af..ff520ae 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 @@ -35,7 +35,7 @@ public class CourseController { model.addAttribute("courseList", CourseForm.convertFrom(courseService.findAll())); model.addAttribute("courseInfoList", CourseInfoForm.convertFrom(courseInfoService.findAll())); - return "select-course"; + return "select_course"; //} catch (Exception e) { // // ログイン情報の破棄 diff --git a/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java b/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java deleted file mode 100644 index b5fcfba..0000000 --- a/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.example.demo.app.presentation.controller; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; - -import com.example.demo.app.domain.service.PasswordResetService; -import com.example.demo.app.presentation.form.PasswordResetForm; - -import lombok.RequiredArgsConstructor; - -@Controller -@RequiredArgsConstructor -public class PasswordResetController { - - private final PasswordResetService passwordResetService; - - @GetMapping("/password_reset") - public String showPasswordReset(Model model) { - - model.addAttribute( - "passwordResetForm", - new PasswordResetForm()); - - return "password_reset"; - } - - @PostMapping("/password_reset") - public String resetPassword( - PasswordResetForm passwordResetForm, - Model model, - HttpSession session) { - - Long userId = - (Long) session.getAttribute("passwordResetUserId"); - - if (userId == null) { - return "redirect:/login"; - } - - boolean isReset = - passwordResetService.resetPassword( - userId, - passwordResetForm); - - if (!isReset) { - model.addAttribute( - "errorMessage", - "パスワードが一致していません。"); - - return "password_reset"; - } - - session.removeAttribute("passwordResetUserId"); - - return "redirect:/login"; - } -} 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 deleted file mode 100644 index 7b2aef4..0000000 --- a/src/main/java/com/example/demo/app/presentation/controller/UserController.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.example.demo.app.presentation.controller; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; - -import com.example.demo.app.presentation.form.UserForm; - -import lombok.RequiredArgsConstructor; - -@Controller -@RequiredArgsConstructor -public class UserController { - - @GetMapping("/user/register") - public String showRegister(Model model) { - model.addAttribute("userForm", new UserForm()); - 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) { - - UserForm userForm = - (UserForm) session.getAttribute("userForm"); - - // DBへの登録処理 - - session.removeAttribute("userForm"); - - return "redirect:/login"; - } - - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java deleted file mode 100644 index c9c4202..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.AnalysisModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AnalysisForm { - - private Integer currentMonthTotalAmount; - private Integer previousMonthTotalAmount; - private Integer totalDifferenceAmount; - private List categoryAnalysisFormList; - - public static AnalysisForm convertFrom( - AnalysisModel analysisModel) { - - return new AnalysisForm( - analysisModel.getCurrentMonthTotalAmount(), - analysisModel.getPreviousMonthTotalAmount(), - analysisModel.getTotalDifferenceAmount(), - CategoryAnalysisForm.convertFrom( - analysisModel.getCategoryAnalysisModelList())); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java deleted file mode 100644 index add1762..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.CategoryAnalysisModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CategoryAnalysisForm { - - private String categoryName; - - private Integer currentMonthAmount; - - private Integer previousMonthAmount; - - private Integer monthDifferenceAmount; - - private Integer courseLimitAmount; - - private Integer courseDifferenceAmount; - - public static CategoryAnalysisForm convertFrom( - - CategoryAnalysisModel categoryAnalysisModel) { - return new CategoryAnalysisForm( - categoryAnalysisModel.getCategoryName(), - categoryAnalysisModel.getCurrentMonthAmount(), - categoryAnalysisModel.getPreviousMonthAmount(), - categoryAnalysisModel.getMonthDifferenceAmount(), - categoryAnalysisModel.getCourseLimitAmount(), - categoryAnalysisModel.getCourseDifferenceAmount()); - } - - public static List convertFrom( - List categoryAnalysisModelList) { - - return categoryAnalysisModelList.stream() - .map(CategoryAnalysisForm::convertFrom) - .toList(); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java b/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java deleted file mode 100644 index 3213e1b..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.demo.app.presentation.form; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PasswordResetForm { - private String password; - private String passwordConfirm; -} 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 deleted file mode 100644 index e51f23f..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/UserForm.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.time.LocalDate; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class UserForm { - private String userName; - private String mailAddress; - private String password; - private Long secretQuestionId; - private String SecretAnswer; - private LocalDate birthDate; - private Integer saving; - private Integer annualIncome; - private Integer monthlyBudget; - private Long goalId; - private Long courseId; -} diff --git a/src/main/resources/templates/analysis.html b/src/main/resources/templates/analysis.html index 55201dd..87fbc0f 100644 --- a/src/main/resources/templates/analysis.html +++ b/src/main/resources/templates/analysis.html @@ -12,7 +12,7 @@
カテゴリ別 支出 前月比
カテゴリ別 支出 - 前月比 -
- コース比 -
前月比
コース比
- + @@ -24,8 +24,8 @@ 0 - + @@ -63,16 +59,16 @@ 配分(%) - + diff --git a/src/main/resources/templates/user_register_confirm.html b/src/main/resources/templates/user_register_confirm.html index 2b35041..aad56dd 100644 --- a/src/main/resources/templates/user_register_confirm.html +++ b/src/main/resources/templates/user_register_confirm.html @@ -1,5 +1,5 @@ - +新規会員登録確認 From e40c64c2a950841c1b5843f85329b4c7c5857252 Mon Sep 17 00:00:00 2001 From: n-kawahito Date: Fri, 18 Sep 2026 09:46:13 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[FIX]=E3=83=97=E3=83=83=E3=82=B7=E3=83=A5?= =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AE=E3=81=9F=E3=82=81=E3=80=81?= =?UTF-8?q?=E3=82=B3=E3=83=9F=E3=83=83=E3=83=88=E3=83=AA=E3=82=BB=E3=83=83?= =?UTF-8?q?=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AnalysisServiceImpl.java | 4 +- .../demo/app/infra/entity/CourseEntity.java | 5 -- .../repository/AllocationRepository.java | 2 +- .../app/infra/repository/GoalRepository.java | 11 ++++ .../app/infra/repository/UserRepository.java | 1 + .../controller/AnalysisController.java | 15 +++--- .../controller/CourseController.java | 52 +++++++++++++++++++ src/main/resources/templates/analysis.html | 20 +++---- .../resources/templates/select_course.html | 35 +++++++++++++ 9 files changed, 118 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/example/demo/app/infra/repository/GoalRepository.java create mode 100644 src/main/java/com/example/demo/app/presentation/controller/CourseController.java create mode 100644 src/main/resources/templates/select_course.html diff --git a/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java index d0f3388..0764d41 100644 --- a/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java +++ b/src/main/java/com/example/demo/app/domain/service/impl/AnalysisServiceImpl.java @@ -33,7 +33,9 @@ public class AnalysisServiceImpl implements AnalysisService { public AnalysisModel getAnalysis(Long userId) { // ユーザー情報取得、月別使用可能資金取得 - UserEntity userEntity = userRepository.findById(userId).orElseThrow(); + UserEntity userEntity = userRepository.findById(userId).orElseThrow(() -> + new RuntimeException( + "User not found.")); // コースID取得 Long courseId = userEntity.getCourseEntity().getCourseId(); diff --git a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java index 3afec50..fc66343 100644 --- a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java @@ -8,7 +8,6 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.OneToMany; -import jakarta.persistence.OneToOne; import jakarta.persistence.Table; import com.example.demo.app.domain.model.CourseModel; @@ -39,10 +38,6 @@ public class CourseEntity { @OneToMany(mappedBy = "courseEntity") private List userEntity; - @OneToOne(mappedBy = "courseEntity") - private AllocationEntity allocationEntity; - - public static List createCourseModelList(List courseEntityList) { return courseEntityList diff --git a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java index 5dc0ece..28656c2 100644 --- a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java +++ b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java @@ -28,5 +28,5 @@ public interface AllocationRepository extends JpaRepository findAllJoinedAllocation(); - + } diff --git a/src/main/java/com/example/demo/app/infra/repository/GoalRepository.java b/src/main/java/com/example/demo/app/infra/repository/GoalRepository.java new file mode 100644 index 0000000..c66aa15 --- /dev/null +++ b/src/main/java/com/example/demo/app/infra/repository/GoalRepository.java @@ -0,0 +1,11 @@ +package com.example.demo.app.infra.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import com.example.demo.app.infra.entity.GoalEntity; + +@Repository +public interface GoalRepository extends JpaRepository { + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/app/infra/repository/UserRepository.java b/src/main/java/com/example/demo/app/infra/repository/UserRepository.java index 239dba4..868dd8a 100644 --- a/src/main/java/com/example/demo/app/infra/repository/UserRepository.java +++ b/src/main/java/com/example/demo/app/infra/repository/UserRepository.java @@ -16,5 +16,6 @@ public interface UserRepository extends JpaRepository { String mailAddress, String password); + Optional findByMailAddress(String mailAddress); } diff --git a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java index 5bc8cd9..6b48a58 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.GetMapping; import com.example.demo.app.domain.model.AnalysisModel; import com.example.demo.app.domain.model.LoginModel; import com.example.demo.app.domain.service.AnalysisService; -import com.example.demo.app.presentation.form.AnalysisForm; import lombok.RequiredArgsConstructor; @@ -24,15 +23,15 @@ public class AnalysisController { public String showAnalysis(Model model, HttpSession session) { //ログインユーザーの取得(セッション) - LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); - + LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); + //分析結果の取得(Service) - AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); - - AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); - + AnalysisModel analysisModel = analysisService.getAnalysis(loginUser.getUserId()); + + AnalysisForm analysisForm = AnalysisForm.convertFrom(analysisModel); + //model格納 - model.addAttribute("analysisForm", analysisForm); + model.addAttribute("analysisForm", analysisForm); return "analysis"; } 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 new file mode 100644 index 0000000..ff520ae --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/controller/CourseController.java @@ -0,0 +1,52 @@ +package com.example.demo.app.presentation.controller; + +import java.util.logging.Logger; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; + +import com.example.demo.app.domain.service.CourseInfoService; +import com.example.demo.app.domain.service.CourseService; +import com.example.demo.app.presentation.form.CourseForm; +import com.example.demo.app.presentation.form.CourseInfoForm; + +import lombok.RequiredArgsConstructor; + + +@Controller +@RequiredArgsConstructor +public class CourseController { + + private final static Logger LOGGER = Logger.getLogger(CourseController.class.getName()); + // エラーメッセージ用の定数フィールド + private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; + + // private final HttpSession httpSession; + private final CourseService courseService; + private final CourseInfoService courseInfoService; + + + + @GetMapping("/select-course") + public String select(Model model) { + + //try { + model.addAttribute("courseList", CourseForm.convertFrom(courseService.findAll())); + model.addAttribute("courseInfoList", CourseInfoForm.convertFrom(courseInfoService.findAll())); + + return "select_course"; + + //} catch (Exception e) { +// // ログイン情報の破棄 +// httpSession.invalidate(); +// +// e.printStackTrace(); +// +// // エラーログ出力 +// LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); +// // エラー画面遷移 +// return null; +// } + } +} diff --git a/src/main/resources/templates/analysis.html b/src/main/resources/templates/analysis.html index 55201dd..87fbc0f 100644 --- a/src/main/resources/templates/analysis.html +++ b/src/main/resources/templates/analysis.html @@ -12,7 +12,7 @@
カテゴリ別 支出 前月比
@@ -42,11 +42,7 @@
カテゴリ別 支出 - 前月比 -
- コース比 -
前月比
コース比

diff --git a/src/main/resources/templates/password_reset.html b/src/main/resources/templates/password_reset.html deleted file mode 100644 index 522fd4b..0000000 --- a/src/main/resources/templates/password_reset.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - -パスワード再設定 - - -
- -
-

パスワード再設定

- -
-
- - -
- -
- - -
- - -
- -
-

-
-
- - \ No newline at end of file diff --git a/src/main/resources/templates/select_course.html b/src/main/resources/templates/select_course.html index 6718ef4..bd50a1e 100644 --- a/src/main/resources/templates/select_course.html +++ b/src/main/resources/templates/select_course.html @@ -20,7 +20,7 @@
カテゴリ名
- + @@ -24,8 +24,8 @@ 0 - + @@ -63,16 +59,16 @@
カテゴリ別 支出 前月比
@@ -42,11 +42,7 @@
カテゴリ別 支出 - 前月比 -
- コース比 -
前月比
コース比

diff --git a/src/main/resources/templates/select_course.html b/src/main/resources/templates/select_course.html new file mode 100644 index 0000000..bd50a1e --- /dev/null +++ b/src/main/resources/templates/select_course.html @@ -0,0 +1,35 @@ + + + + +コース選択 + + + +
+
+

+ +

+
+
+ + + + 配分(%) + + + + + +
カテゴリ名
+
+
+
+
+ + + + \ No newline at end of file From abe5573c8803673a94efd83e7cd16a0a017e1a77 Mon Sep 17 00:00:00 2001 From: n-kawahito Date: Fri, 18 Sep 2026 09:53:53 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[ADD]=E6=94=AF=E5=87=BA=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=81=AE=E3=81=9F=E3=82=81=E3=81=AEform?= =?UTF-8?q?=E3=82=AF=E3=83=A9=E3=82=B9=E3=82=92=E4=BD=9C=E6=88=90=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AnalysisController.java | 1 + .../app/presentation/form/AnalysisForm.java | 35 ++++++++++++++ .../form/CategoryAnalysisForm.java | 47 +++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java create mode 100644 src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java diff --git a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java index 6b48a58..a3a745f 100644 --- a/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java +++ b/src/main/java/com/example/demo/app/presentation/controller/AnalysisController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.GetMapping; import com.example.demo.app.domain.model.AnalysisModel; import com.example.demo.app.domain.model.LoginModel; import com.example.demo.app.domain.service.AnalysisService; +import com.example.demo.app.presentation.form.AnalysisForm; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java new file mode 100644 index 0000000..1594955 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/AnalysisForm.java @@ -0,0 +1,35 @@ +package com.example.demo.app.presentation.form; + +import java.util.List; + +import com.example.demo.app.domain.model.AnalysisModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AnalysisForm { + + private Integer currentMonthTotalAmount; + + private Integer previousMonthTotalAmount; + + private Integer totalDifferenceAmount; + + private List + categoryAnalysisFormList; + + public static AnalysisForm convertFrom( + AnalysisModel analysisModel) { + + return new AnalysisForm( + analysisModel.getCurrentMonthTotalAmount(), + analysisModel.getPreviousMonthTotalAmount(), + analysisModel.getTotalDifferenceAmount(), + CategoryAnalysisForm.convertFrom( + analysisModel.getCategoryAnalysisModelList())); + } +} diff --git a/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java b/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java new file mode 100644 index 0000000..1b44353 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/CategoryAnalysisForm.java @@ -0,0 +1,47 @@ +package com.example.demo.app.presentation.form; + +import java.util.List; + +import com.example.demo.app.domain.model.CategoryAnalysisModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CategoryAnalysisForm { + + private String categoryName; + + private Integer currentMonthAmount; + + private Integer previousMonthAmount; + + private Integer monthDifferenceAmount; + + private Integer courseLimitAmount; + + private Integer courseDifferenceAmount; + + public static CategoryAnalysisForm convertFrom( + CategoryAnalysisModel categoryAnalysisModel) { + + return new CategoryAnalysisForm( + categoryAnalysisModel.getCategoryName(), + categoryAnalysisModel.getCurrentMonthAmount(), + categoryAnalysisModel.getPreviousMonthAmount(), + categoryAnalysisModel.getMonthDifferenceAmount(), + categoryAnalysisModel.getCourseLimitAmount(), + categoryAnalysisModel.getCourseDifferenceAmount()); + } + + public static List convertFrom( + List categoryAnalysisModelList) { + + return categoryAnalysisModelList.stream() + .map(CategoryAnalysisForm::convertFrom) + .toList(); + } +}