diff --git a/src/main/java/com/example/helloworldmvc/converter/MyPageConverter.java b/src/main/java/com/example/helloworldmvc/converter/MyPageConverter.java index 99f7c5d..25e8b62 100644 --- a/src/main/java/com/example/helloworldmvc/converter/MyPageConverter.java +++ b/src/main/java/com/example/helloworldmvc/converter/MyPageConverter.java @@ -157,4 +157,11 @@ public static MyPageResponseDTO.DeleteUserDTO deleteUserRes(String userId){ message(userId+ " 유저가 삭제 되었습니다") .build(); } + + public static MyPageResponseDTO.UserInfoDTO toUserInfoRes(User user) { + List languageList = user.getUserLanguageList().stream().map(i -> i.getLanguage().getName()).toList(); + return MyPageResponseDTO.UserInfoDTO.builder() + .language(languageList) + .build(); + } } diff --git a/src/main/java/com/example/helloworldmvc/domain/Center.java b/src/main/java/com/example/helloworldmvc/domain/Center.java index 554ebd2..aadf0c7 100644 --- a/src/main/java/com/example/helloworldmvc/domain/Center.java +++ b/src/main/java/com/example/helloworldmvc/domain/Center.java @@ -68,6 +68,9 @@ public class Center { @Column(nullable = true, length = 255) private String details; + @Column(nullable = false, length = 20) + private String phoneNumber; + @OneToMany(mappedBy = "center", cascade = CascadeType.ALL) private List counselorList = new ArrayList<>(); diff --git a/src/main/java/com/example/helloworldmvc/service/MyPageService.java b/src/main/java/com/example/helloworldmvc/service/MyPageService.java index a2a6d2c..110da08 100644 --- a/src/main/java/com/example/helloworldmvc/service/MyPageService.java +++ b/src/main/java/com/example/helloworldmvc/service/MyPageService.java @@ -21,4 +21,6 @@ public interface MyPageService { MyPageResponseDTO.MyCommentListResDTO getAllCommentsByUser(String userId, Integer page, Integer size); + MyPageResponseDTO.UserInfoDTO getUserInfo(String userId); + } diff --git a/src/main/java/com/example/helloworldmvc/service/MyPageServiceImpl.java b/src/main/java/com/example/helloworldmvc/service/MyPageServiceImpl.java index 5d8335c..cfeb7e2 100644 --- a/src/main/java/com/example/helloworldmvc/service/MyPageServiceImpl.java +++ b/src/main/java/com/example/helloworldmvc/service/MyPageServiceImpl.java @@ -102,6 +102,13 @@ public MyPageResponseDTO.MyCommunityListResDTO getCommunityList(String userId, I return MyPageConverter.toAllMyCommunityListRes(communityResPage, user.getId()); } + @Override + public MyPageResponseDTO.UserInfoDTO getUserInfo(String userId) { + User user = userRepository.findByEmail(userId) + .orElseThrow(() -> new GeneralException(ErrorStatus.USER_NOT_FOUND)); + return MyPageConverter.toUserInfoRes(user); + } + @Override public MyPageResponseDTO.MyCommentListResDTO getAllCommentsByUser(String userId, Integer page, Integer size) { User user = userRepository.findByEmail(userId) diff --git a/src/main/java/com/example/helloworldmvc/web/controller/MyPageController.java b/src/main/java/com/example/helloworldmvc/web/controller/MyPageController.java index 1c89299..02302e4 100644 --- a/src/main/java/com/example/helloworldmvc/web/controller/MyPageController.java +++ b/src/main/java/com/example/helloworldmvc/web/controller/MyPageController.java @@ -168,4 +168,18 @@ public ApiResponse getAllMyComment(@RequestHeader("Authorization") String acc String gmail = jwtTokenProvider.getGoogleEmail(accessToken); return ApiResponse.onSuccess(myPageService.getAllCommentsByUser(gmail, page, size)); } + + @GetMapping("/userInfo") + @Operation(summary = "사용자 정보 조회 API", description = "사용자 조회 API입니다.") + @ApiResponses({ + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "COMMON200", description = "OK, 성공"), + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "USER4001", description = "사용자를 찾을수 없습니다.") + }) + @Parameters({ + @Parameter(name = "Authorization", description = "RequestHeader - 로그인한 사용자 토큰"), + }) + public ApiResponse getUserInfo(@RequestHeader("Authorization") String accessToken) { + String gmail = jwtTokenProvider.getGoogleEmail(accessToken); + return ApiResponse.onSuccess(myPageService.getUserInfo(gmail)); + } } diff --git a/src/main/java/com/example/helloworldmvc/web/dto/MyPageResponseDTO.java b/src/main/java/com/example/helloworldmvc/web/dto/MyPageResponseDTO.java index 299047a..6f6315d 100644 --- a/src/main/java/com/example/helloworldmvc/web/dto/MyPageResponseDTO.java +++ b/src/main/java/com/example/helloworldmvc/web/dto/MyPageResponseDTO.java @@ -1,5 +1,6 @@ package com.example.helloworldmvc.web.dto; +import com.example.helloworldmvc.domain.mapping.UserLanguage; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -138,4 +139,12 @@ public static class MyCommentResDTO { public static class DeleteUserDTO{ String message; } + + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class UserInfoDTO{ + List language; + } }