From e47a34685efa3675d36a2bfa472863c88d724639 Mon Sep 17 00:00:00 2001 From: Kim So Yeon Date: Fri, 31 Jan 2025 16:11:32 +0900 Subject: [PATCH] =?UTF-8?q?:sparkles:=20feat:=20=EB=A7=88=EC=9D=B4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80(=EC=9D=B4=EB=A9=94=EC=9D=BC=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C)=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pricewagon/domain/user/api/UserController.java | 11 +++++++++++ .../domain/user/converter/UserConverter.java | 6 ++++++ .../pricewagon/domain/user/dto/UserResponseDTO.java | 8 ++++++++ .../domain/user/service/UserCommandService.java | 2 ++ .../domain/user/service/UserCommandServiceImpl.java | 9 +++++++++ 5 files changed, 36 insertions(+) diff --git a/src/main/java/com/pricewagon/pricewagon/domain/user/api/UserController.java b/src/main/java/com/pricewagon/pricewagon/domain/user/api/UserController.java index b4c5cb8..d5a4ad8 100644 --- a/src/main/java/com/pricewagon/pricewagon/domain/user/api/UserController.java +++ b/src/main/java/com/pricewagon/pricewagon/domain/user/api/UserController.java @@ -1,6 +1,7 @@ package com.pricewagon.pricewagon.domain.user.api; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -14,6 +15,7 @@ import com.pricewagon.pricewagon.domain.user.entity.User; import com.pricewagon.pricewagon.domain.user.service.EmailService; import com.pricewagon.pricewagon.domain.user.service.UserCommandService; +import com.pricewagon.pricewagon.global.config.security.CustomUserDetails; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -95,4 +97,13 @@ public ResponseEntity naverLogin(@RequestParam(" return ResponseEntity.ok(result); } + //마이페이지 조회 + @Operation(summary = "마이페이지 조회", description = "이름, 이메일 값 조회") + @GetMapping("/mypage") + public ResponseEntity mypage( + @AuthenticationPrincipal CustomUserDetails userDetails) { + UserResponseDTO.myPageResultDTO result = userCommandService.mypage(userDetails); + return ResponseEntity.ok(result); + } + } diff --git a/src/main/java/com/pricewagon/pricewagon/domain/user/converter/UserConverter.java b/src/main/java/com/pricewagon/pricewagon/domain/user/converter/UserConverter.java index b111a13..2ab079d 100644 --- a/src/main/java/com/pricewagon/pricewagon/domain/user/converter/UserConverter.java +++ b/src/main/java/com/pricewagon/pricewagon/domain/user/converter/UserConverter.java @@ -81,4 +81,10 @@ public static UserResponseDTO.validNumDTO toValidCheck(Boolean checked) { .build(); } + public static UserResponseDTO.myPageResultDTO toMyPageResult(User user) { + return UserResponseDTO.myPageResultDTO.builder() + .email(user.getAccount()) + .build(); + } + } diff --git a/src/main/java/com/pricewagon/pricewagon/domain/user/dto/UserResponseDTO.java b/src/main/java/com/pricewagon/pricewagon/domain/user/dto/UserResponseDTO.java index 076dfb6..5abc822 100644 --- a/src/main/java/com/pricewagon/pricewagon/domain/user/dto/UserResponseDTO.java +++ b/src/main/java/com/pricewagon/pricewagon/domain/user/dto/UserResponseDTO.java @@ -55,4 +55,12 @@ public static class validNumDTO { boolean isValid; } + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class myPageResultDTO { + String email; + } + } diff --git a/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandService.java b/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandService.java index d1edd52..2e8810e 100644 --- a/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandService.java +++ b/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandService.java @@ -3,6 +3,7 @@ import com.pricewagon.pricewagon.domain.user.dto.UserRequestDTO; import com.pricewagon.pricewagon.domain.user.dto.UserResponseDTO; import com.pricewagon.pricewagon.domain.user.entity.User; +import com.pricewagon.pricewagon.global.config.security.CustomUserDetails; import jakarta.servlet.http.HttpServletResponse; @@ -17,4 +18,5 @@ public interface UserCommandService { UserResponseDTO.loginResultDTO oAuthNaverLogin(String accessCode, HttpServletResponse httpServletResponse); + UserResponseDTO.myPageResultDTO mypage(CustomUserDetails userDetails); } diff --git a/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandServiceImpl.java b/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandServiceImpl.java index 3f73725..a9c59c8 100644 --- a/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandServiceImpl.java +++ b/src/main/java/com/pricewagon/pricewagon/domain/user/service/UserCommandServiceImpl.java @@ -11,6 +11,7 @@ import com.pricewagon.pricewagon.domain.user.dto.UserResponseDTO; import com.pricewagon.pricewagon.domain.user.entity.User; import com.pricewagon.pricewagon.domain.user.repository.UserRepository; +import com.pricewagon.pricewagon.global.config.security.CustomUserDetails; import com.pricewagon.pricewagon.global.config.security.JwtUtil; import com.pricewagon.pricewagon.global.config.security.KakaoUtil; import com.pricewagon.pricewagon.global.config.security.NaverUtil; @@ -90,6 +91,14 @@ public UserResponseDTO.loginResultDTO oAuthNaverLogin(String accessCode, HttpSer return UserConverter.loginResult(user, token); } + @Override + public UserResponseDTO.myPageResultDTO mypage(CustomUserDetails userDetails) { + User user = userRepository.findByAccount(userDetails.getUsername()) + .orElseThrow(() -> new CustomException(ErrorCode.MEMBER_NOT_FOUND)); + return UserConverter.toMyPageResult(user); + + } + private User createNewUser(KakaoDTO.KakaoProfile kakaoProfile) { User newUser = UserConverter.toUser(kakaoProfile, passwordEncoder); return userRepository.save(newUser);