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
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package HalfFifty.HalfFifty_BE.user.bean;

import HalfFifty.HalfFifty_BE.user.bean.small.CreateUserDTOBean;
import HalfFifty.HalfFifty_BE.user.bean.small.GetUserDAOBean;
import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import HalfFifty.HalfFifty_BE.user.domain.UserDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.UUID;

@Component
public class GetUserBean {
CreateUserDTOBean createUserDTOBean;
GetUserDAOBean getUserDAOBean;

@Autowired
public GetUserBean(CreateUserDTOBean createUserDTOBean, GetUserDAOBean getUserDAOBean) {
this.createUserDTOBean = createUserDTOBean;
this.getUserDAOBean = getUserDAOBean;
}

public ResponseUserGetDTO exec(UUID userId) {
// 유저 id를 통해 원하는 객체 찾기
UserDAO userDAO = getUserDAOBean.exec(userId);
if(userDAO == null) return null;

// 객체를 DTO로 변환해서 반환
return createUserDTOBean.exec(userDAO);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package HalfFifty.HalfFifty_BE.user.bean.small;

import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import HalfFifty.HalfFifty_BE.user.domain.UserDAO;
import org.springframework.stereotype.Component;

@Component
public class CreateUserDTOBean {
// 객체를 DTO로 변환해서 반환
public ResponseUserGetDTO exec(UserDAO userDAO) {
return ResponseUserGetDTO.builder()
.userId(userDAO.getUserId())
.nickname(userDAO.getNickName())
.phoneNumber(userDAO.getPhoneNumber())
.createdAt(userDAO.getCreatedAt())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package HalfFifty.HalfFifty_BE.user.bean.small;

import HalfFifty.HalfFifty_BE.user.domain.UserDAO;
import HalfFifty.HalfFifty_BE.user.repository.UserRepositoryJPA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.UUID;

@Component
public class GetUserDAOBean {
UserRepositoryJPA userRepositoryJPA;

@Autowired
public GetUserDAOBean(UserRepositoryJPA userRepositoryJPA) {
this.userRepositoryJPA = userRepositoryJPA;
}

// 유저 id를 통해 원하는 객체 찾기
public UserDAO exec(UUID userId) {
return userRepositoryJPA.findById(userId).orElse(null);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package HalfFifty.HalfFifty_BE.user.controller;

import HalfFifty.HalfFifty_BE.user.domain.DTO.RequestUserSaveDTO;
import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import HalfFifty.HalfFifty_BE.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
Expand All @@ -23,6 +24,24 @@ public UserController(UserService userService) {
this.userService = userService;
}

@GetMapping("/{userId}")
public ResponseEntity<Map<String, Object>> getUserProfile(@PathVariable("userId") UUID userId) {
// 유저 프로필 조회 service
ResponseUserGetDTO responseUserGetDTO = userService.getUserProfile(userId);

// 유저 프로필 조회 성공 여부
boolean success = responseUserGetDTO != null;

// Map을 통해 메시지 id 값 json 데이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "유저 프로필 조회 성공" : "유저 프로필 조회 실패");
requestMap.put("userInfo", responseUserGetDTO);

// status, body 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
}

@PostMapping
public ResponseEntity<Map<String, Object>> saveUser(@RequestBody RequestUserSaveDTO requestUserSaveDTO) {
// 유저 회원가입 service
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package HalfFifty.HalfFifty_BE.user.domain.DTO;

import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.UUID;

@Data
@Builder
public class ResponseUserGetDTO {
UUID userId;
String nickname;
String phoneNumber;
LocalDateTime createdAt;
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package HalfFifty.HalfFifty_BE.user.service;

import HalfFifty.HalfFifty_BE.user.bean.GetUserBean;
import HalfFifty.HalfFifty_BE.user.bean.SaveUserBean;
import HalfFifty.HalfFifty_BE.user.domain.DTO.RequestUserSaveDTO;
import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

Expand All @@ -10,10 +12,17 @@
@Service
public class UserService {
SaveUserBean saveUserBean;
GetUserBean getUserBean;

@Autowired
public UserService(SaveUserBean saveUserBean) {
public UserService(SaveUserBean saveUserBean, GetUserBean getUserBean) {
this.saveUserBean = saveUserBean;
this.getUserBean = getUserBean;
}

// 유저 프로필 조회
public ResponseUserGetDTO getUserProfile(UUID userId) {
return getUserBean.exec(userId);
}

// 유저 회원가입(임시)
Expand Down
Loading