From b48b3ae0bd6ae6ab87be62f4e874e3efdd46247c Mon Sep 17 00:00:00 2001 From: s-morimoto Date: Fri, 18 Sep 2026 11:10:45 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[ADD]profile=E3=81=AE=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/app/domain/model/ProfileModel.java | 18 ++++++++++ .../app/domain/service/ProfileService.java | 7 ++++ .../service/impl/ProfileServiceImpl.java | 34 +++++++++++++++++++ .../controller/ProfileController.java | 32 +++++++++++++++++ .../app/presentation/form/ProfileForm.java | 33 ++++++++++++++++++ 5 files changed, 124 insertions(+) create mode 100644 src/main/java/com/example/demo/app/domain/model/ProfileModel.java create mode 100644 src/main/java/com/example/demo/app/domain/service/ProfileService.java create mode 100644 src/main/java/com/example/demo/app/domain/service/impl/ProfileServiceImpl.java create mode 100644 src/main/java/com/example/demo/app/presentation/controller/ProfileController.java create mode 100644 src/main/java/com/example/demo/app/presentation/form/ProfileForm.java diff --git a/src/main/java/com/example/demo/app/domain/model/ProfileModel.java b/src/main/java/com/example/demo/app/domain/model/ProfileModel.java new file mode 100644 index 0000000..64ede94 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/model/ProfileModel.java @@ -0,0 +1,18 @@ +package com.example.demo.app.domain.model; + +import java.time.LocalDate; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class ProfileModel { + private Long userId; + private String userName; + private String emailAddress; + private LocalDate brithDate; + private Integer saving; + private Integer annualIncome; + private Integer monthlyBudget; +} diff --git a/src/main/java/com/example/demo/app/domain/service/ProfileService.java b/src/main/java/com/example/demo/app/domain/service/ProfileService.java new file mode 100644 index 0000000..6dd2b8c --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/ProfileService.java @@ -0,0 +1,7 @@ +package com.example.demo.app.domain.service; + +import com.example.demo.app.domain.model.ProfileModel; + +public interface ProfileService { + ProfileModel findOne(Long userId); +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/ProfileServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/ProfileServiceImpl.java new file mode 100644 index 0000000..7df882c --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/ProfileServiceImpl.java @@ -0,0 +1,34 @@ +package com.example.demo.app.domain.service.impl; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.model.ProfileModel; +import com.example.demo.app.domain.service.ProfileService; +import com.example.demo.app.infra.entity.UserEntity; +import com.example.demo.app.infra.repository.UserRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class ProfileServiceImpl implements ProfileService{ + private final UserRepository userRepository; + + @Override + public ProfileModel findOne(Long userId) { + UserEntity userEntity = userRepository.findById(userId).orElse(null); + + if(userEntity == null) { + return null; + } + + return new ProfileModel( + userEntity.getUserId(), + userEntity.getUserName(), + userEntity.getMailAddress(), + userEntity.getBirthDate(), + userEntity.getSaving(), + userEntity.getAnnualIncome(), + userEntity.getMonthlyBudget()); + } +} diff --git a/src/main/java/com/example/demo/app/presentation/controller/ProfileController.java b/src/main/java/com/example/demo/app/presentation/controller/ProfileController.java new file mode 100644 index 0000000..f9a3f81 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/controller/ProfileController.java @@ -0,0 +1,32 @@ +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 com.example.demo.app.domain.model.LoginModel; +import com.example.demo.app.domain.model.ProfileModel; +import com.example.demo.app.domain.service.ProfileService; +import com.example.demo.app.presentation.form.ProfileForm; + +import lombok.RequiredArgsConstructor; + +@Controller +@RequiredArgsConstructor +public class ProfileController { + private final ProfileService profileService; + + @GetMapping("/profile") + public String profile(Model model, HttpSession session) { + LoginModel loginUser = (LoginModel) session.getAttribute("loginUser"); + + ProfileModel profileModel = profileService.findOne(loginUser.getUserId()); + + ProfileForm profileForm = ProfileForm.convertForm(profileModel); + + model.addAttribute("profileForm", profileForm); + return "profile"; + } +} diff --git a/src/main/java/com/example/demo/app/presentation/form/ProfileForm.java b/src/main/java/com/example/demo/app/presentation/form/ProfileForm.java new file mode 100644 index 0000000..2cdfc20 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/ProfileForm.java @@ -0,0 +1,33 @@ +package com.example.demo.app.presentation.form; + +import java.time.LocalDate; + +import com.example.demo.app.domain.model.ProfileModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProfileForm { + private Long userId; + private String userName; + private String emailAddress; + private LocalDate brithDate; + private Integer saving; + private Integer annualIncome; + private Integer monthlyBudget; + + public static ProfileForm convertForm(ProfileModel profileModel) { + return new ProfileForm( + profileModel.getUserId(), + profileModel.getUserName(), + profileModel.getEmailAddress(), + profileModel.getBrithDate(), + profileModel.getSaving(), + profileModel.getAnnualIncome(), + profileModel.getMonthlyBudget()); + } +} From 7ddebf7a4aa6d688cd319252116f5652e9e72824 Mon Sep 17 00:00:00 2001 From: s-morimoto Date: Fri, 18 Sep 2026 11:13:27 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[RENAME]A=E2=86=92a=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/{Authentication.html => authentication.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/templates/{Authentication.html => authentication.html} (100%) diff --git a/src/main/resources/templates/Authentication.html b/src/main/resources/templates/authentication.html similarity index 100% rename from src/main/resources/templates/Authentication.html rename to src/main/resources/templates/authentication.html From 938574654fbdbfed2dce9c2d561f92c5498577c5 Mon Sep 17 00:00:00 2001 From: s-morimoto Date: Fri, 18 Sep 2026 11:28:40 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[EDIT]Login=E3=81=AB=E9=96=A2=E3=81=99?= =?UTF-8?q?=E3=82=8B=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/templates/login.html | 2 +- src/main/resources/templates/password_reset.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 3a8e8ac..80fbdec 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -40,7 +40,7 @@
- パスワードを忘れた方 + パスワードを忘れた方
diff --git a/src/main/resources/templates/password_reset.html b/src/main/resources/templates/password_reset.html index 522fd4b..fdde450 100644 --- a/src/main/resources/templates/password_reset.html +++ b/src/main/resources/templates/password_reset.html @@ -10,7 +10,7 @@

パスワード再設定

-
+
Date: Fri, 18 Sep 2026 11:30:50 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[EDIT]=E7=94=BB=E9=9D=A2=E9=81=B7=E7=A7=BB?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/templates/login.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 80fbdec..75298d0 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -40,7 +40,7 @@