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,39 @@
package HalfFifty.HalfFifty_BE.user.bean;

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

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

@Component
public class UpdateUserBean {
GetUserDAOBean getUserDAOBean;
SaveUserDAOBean saveUserDAOBean;

@Autowired
public UpdateUserBean(GetUserDAOBean getUserDAOBean, SaveUserDAOBean saveUserDAOBean) {
this.getUserDAOBean = getUserDAOBean;
this.saveUserDAOBean = saveUserDAOBean;
}

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

// 객체 수정
userDAO.setNickName(requestUserUpdateDTO.getNickname());
userDAO.setUpdatedAt(LocalDateTime.now());

// 수정한 객체 저장
saveUserDAOBean.exec(userDAO);

// 수정한 객체 키값 반환
return userDAO.getUserId();
}
}
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.RequestUserUpdateDTO;
import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import HalfFifty.HalfFifty_BE.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -42,6 +43,24 @@ public ResponseEntity<Map<String, Object>> getUserProfile(@PathVariable("userId"
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
}

@PutMapping
public ResponseEntity<Map<String, Object>> updateUser(@RequestBody RequestUserUpdateDTO requestUserUpdateDTO) {
// 유저 닉네임 수정 service
UUID userId = userService.updateUser(requestUserUpdateDTO);

// 유저 닉네임 수정 여부
boolean success = userId != null;

// Map을 통해 메시지와 id 값 json 테이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "유저 닉네임 수정 성공" : "유저 닉네임 수정 실패");
requestMap.put("userId", userId);

// 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,13 @@
package HalfFifty.HalfFifty_BE.user.domain.DTO;

import lombok.Data;

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

@Data
public class RequestUserUpdateDTO {
UUID userId;
String nickname;
LocalDateTime updatedAt;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import HalfFifty.HalfFifty_BE.user.bean.GetUserBean;
import HalfFifty.HalfFifty_BE.user.bean.SaveUserBean;
import HalfFifty.HalfFifty_BE.user.bean.UpdateUserBean;
import HalfFifty.HalfFifty_BE.user.domain.DTO.RequestUserSaveDTO;
import HalfFifty.HalfFifty_BE.user.domain.DTO.RequestUserUpdateDTO;
import HalfFifty.HalfFifty_BE.user.domain.DTO.ResponseUserGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
Expand All @@ -13,18 +15,25 @@
public class UserService {
SaveUserBean saveUserBean;
GetUserBean getUserBean;
UpdateUserBean updateUserBean;

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

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

// 유저 닉네임 수정
public UUID updateUser(RequestUserUpdateDTO requestUserUpdateDTO) {
return updateUserBean.exec(requestUserUpdateDTO);
}

// 유저 회원가입(임시)
public UUID exec(RequestUserSaveDTO requestUserSaveDTO) {
return saveUserBean.exec(requestUserSaveDTO);
Expand Down
Loading