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);