Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions src/main/java/Devroup/hidaddy/controller/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,18 @@ public ResponseEntity<?> changeName(
userService.changeUserName(userDetails.getUser(), requestDto.getUserName());
return ResponseEntity.ok("유저 이름 변경 완료");
}

@GetMapping("/me")
@Operation(
summary = "현재 로그인된 유저 정보 조회",
description = "유저의 이름, 전화번호, 배우자 전화번호, 선택된 아기의 이름을 반환합니다."
)
@ApiResponses({
@ApiResponse(responseCode = "200", description = "유저 정보 조회 성공"),
@ApiResponse(responseCode = "404", description = "해당 유저를 찾을 수 없음")
})
public ResponseEntity<UserResponse> getMyInfo(@RequestParam Long userId) {
UserResponse userInfo = userService.getUserInfo(userId);
return ResponseEntity.ok(userInfo);
}
}
19 changes: 19 additions & 0 deletions src/main/java/Devroup/hidaddy/dto/user/UserResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package Devroup.hidaddy.dto.user;

import Devroup.hidaddy.entity.User;
import lombok.Getter;

@Getter
public class UserResponse {
private String userName;
private String phone;
private String partnerPhone;
private String selectedBabyName;

public UserResponse(User user, String selectedBabyName) {
this.userName = user.getName();
this.partnerPhone = user.getPartnerPhone();
this.phone = user.getPhone();
this.selectedBabyName = selectedBabyName; // BabyRepository로 가져온 이름
}
}
14 changes: 14 additions & 0 deletions src/main/java/Devroup/hidaddy/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,18 @@ public void deleteUser(User user) {
// 사용자 삭제
userRepository.delete(user);
}

public UserResponse getUserInfo(Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(() -> new RuntimeException("User not found"));

String babyName = null;
if (user.getSelectedBabyId() != null) {
babyName = babyRepository.findById(user.getSelectedBabyId())
.map(Baby::getName)
.orElse(null);
}

return new UserResponse(user, babyName);
}
}