-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #53 from donsonioc2010/feat/member-sunrae
충돌해결
- Loading branch information
Showing
14 changed files
with
297 additions
and
248 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
78 changes: 78 additions & 0 deletions
78
Api/src/main/java/picasso/server/api/mypage/controller/MypageController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
package picasso.server.api.mypage.controller; | ||
|
||
import jakarta.servlet.http.HttpSession; | ||
import lombok.RequiredArgsConstructor; | ||
import lombok.extern.slf4j.Slf4j; | ||
import org.springframework.stereotype.Controller; | ||
import org.springframework.ui.Model; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.ResponseBody; | ||
import picasso.server.api.mypage.service.MypageService; | ||
import picasso.server.domain.domains.user.entity.User; | ||
|
||
import java.util.HashMap; | ||
import java.util.Map; | ||
import java.util.Optional; | ||
|
||
@Slf4j | ||
@Controller | ||
@RequestMapping("/user") | ||
@RequiredArgsConstructor | ||
public class MypageController { | ||
|
||
private final MypageService mypageService; | ||
|
||
// 마이페이지 수정 전 | ||
@GetMapping("/mypage") | ||
public String getUserByEmail(HttpSession session, Model model) { | ||
User loginUser = (User) session.getAttribute("loginUser"); | ||
if (loginUser == null) { | ||
// TODO : 사용자 정보 없는 경우 Exception 처리 필요 (로그인을 하지 않은 상태이기 떄문) | ||
} | ||
|
||
Optional<User> optionalUser = mypageService.findUserById(loginUser.getId()); | ||
if (optionalUser.isEmpty()) { | ||
// TODO : 로그인 사용자(세션)는 존재하더라도, DB에서 현재 사용자 정보가 존재하지 않는 경우이기 떄문에 Exception처리가 필요 | ||
} | ||
model.addAttribute("user", optionalUser.get()); | ||
return "user/mypage"; | ||
} | ||
|
||
// TODO: 테스트용 Controller 입니다. 추후 삭제 혹은 변경이 필요합니다. | ||
@ResponseBody | ||
@PostMapping("/session-info") | ||
public Map<String, Long> paymentSessionInfoRtn(HttpSession session) { | ||
User temp = (User)session.getAttribute("loginUser"); | ||
return new HashMap<String, Long>(){{ | ||
put("userId", 1L); | ||
}}; | ||
} | ||
|
||
|
||
// @GetMapping("/login-form") | ||
// public String loginForm(@CookieValue(value = "user", required = false) String userJson, Model model) { | ||
// if (userJson != null && !userJson.isEmpty()) { | ||
// // 이미 로그인된 경우의 처리 로직 | ||
// // 예: return "redirect:/dashboard"; | ||
// } | ||
// model.addAttribute("UserDTO", new UserDTO()); | ||
// return "user/login-form"; // Thymeleaf 템플릿 경로 | ||
// } | ||
// | ||
// @PostMapping("/login") | ||
// public ResponseEntity<String> login(@RequestBody UserDTO userDto, HttpServletResponse response) { | ||
// Cookie loginCookie = null; | ||
// try { | ||
// loginCookie = muserService.login(userDto); | ||
// } catch (JsonProcessingException e) { | ||
// throw new RuntimeException(e); | ||
// } | ||
// if (loginCookie != null) { | ||
// response.addCookie(loginCookie); | ||
// return ResponseEntity.ok("로그인 성공"); | ||
// } | ||
// return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("로그인 실패"); | ||
// } | ||
} |
File renamed without changes.
File renamed without changes.
31 changes: 31 additions & 0 deletions
31
Api/src/main/java/picasso/server/api/mypage/service/MypageService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package picasso.server.api.mypage.service; | ||
|
||
import com.fasterxml.jackson.databind.ObjectMapper; | ||
import jakarta.servlet.http.HttpServletResponse; | ||
import jakarta.transaction.Transactional; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.stereotype.Service; | ||
import picasso.server.domain.domains.user.entity.User; | ||
import picasso.server.domain.domains.user.repository.MypageRepository; | ||
|
||
import java.util.Optional; | ||
|
||
@Service | ||
@Transactional | ||
@RequiredArgsConstructor | ||
public class MypageService { | ||
|
||
private final MypageRepository mypageRepository; | ||
private final ObjectMapper objectMapper; | ||
private HttpServletResponse response; | ||
|
||
|
||
public void saveUser(User user) { | ||
mypageRepository.save(user); | ||
} | ||
|
||
public Optional<User> findUserById(Long id) { | ||
return mypageRepository.findById(id); | ||
} | ||
} | ||
|
86 changes: 30 additions & 56 deletions
86
Api/src/main/java/picasso/server/api/user/controller/LoginController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,56 +1,30 @@ | ||
//package picasso.server.api.user.controller; | ||
// | ||
//import org.springframework.beans.factory.annotation.Autowired; | ||
//import org.springframework.http.ResponseEntity; | ||
//import org.springframework.stereotype.Controller; | ||
//import org.springframework.ui.Model; | ||
//import org.springframework.web.bind.annotation.*; | ||
//import org.springframework.web.bind.support.SessionStatus; | ||
//import picasso.server.api.user.service.UserService; | ||
//import picasso.server.domain.domains.dto.UserDTO; | ||
//import picasso.server.domain.domains.user.entity.User; | ||
// | ||
//@Controller | ||
//@RequestMapping("/user") | ||
//public class LoginController { | ||
// | ||
// private final UserService userService; | ||
// | ||
// @Autowired | ||
// public LoginController(UserService userService) { | ||
// this.userService = userService; | ||
// } | ||
// | ||
// @GetMapping("form") | ||
// public String form(@CookieValue(required = false) String email, Model model) { | ||
// model.addAttribute("UserDTO", new UserDTO()); | ||
// return "user/form"; | ||
// } | ||
// | ||
// @PostMapping | ||
// public String add(UserDTO dto){ | ||
// User user = new User(); | ||
// user.setEmail(dto.getEmail()); | ||
// user.setPassword(dto.getPassword()); | ||
// user.setNickName(dto.getEmail()); | ||
// return "redirect:/"; | ||
// } | ||
// | ||
// @PostMapping("login") | ||
// public ResponseEntity<?> login(@RequestBody UserDTO requestDto) { | ||
// try { | ||
// User authenticatedUser = userService.login(requestDto.getEmail(), requestDto.getPassword()); | ||
// return ResponseEntity.ok(authenticatedUser); | ||
// } catch (Exception e) { | ||
// return ResponseEntity.badRequest().body(e.getMessage()); | ||
// } | ||
// } | ||
// | ||
// @GetMapping("logout") | ||
// public ResponseEntity<String> logout(SessionStatus sessionStatus) { | ||
// sessionStatus.setComplete(); | ||
// | ||
// return ResponseEntity.ok("로그아웃"); | ||
// } | ||
// | ||
//} | ||
package picasso.server.api.user.controller; | ||
|
||
import com.fasterxml.jackson.core.JsonProcessingException; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.stereotype.Controller; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.ModelAttribute; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import picasso.server.api.user.service.UserService; | ||
import picasso.server.domain.domains.dto.UserDTO; | ||
|
||
@Controller | ||
@RequestMapping("auth") | ||
@RequiredArgsConstructor | ||
public class LoginController { | ||
|
||
private final UserService userService; | ||
|
||
@GetMapping("login") | ||
public String showLoginForm() { | ||
return "auth/login"; | ||
} | ||
|
||
@PostMapping("login") | ||
public String handleLogin(@ModelAttribute UserDTO userDto) throws JsonProcessingException { | ||
userService.login(userDto); | ||
return "redirect:/"; | ||
} | ||
} |
56 changes: 56 additions & 0 deletions
56
Api/src/main/java/picasso/server/api/user/controller/LoginController2.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
//package picasso.server.api.user.controller; | ||
// | ||
//import org.springframework.beans.factory.annotation.Autowired; | ||
//import org.springframework.http.ResponseEntity; | ||
//import org.springframework.stereotype.Controller; | ||
//import org.springframework.ui.Model; | ||
//import org.springframework.web.bind.annotation.*; | ||
//import org.springframework.web.bind.support.SessionStatus; | ||
//import picasso.server.api.user.service.UserService; | ||
//import picasso.server.domain.domains.dto.UserDTO; | ||
//import picasso.server.domain.domains.user.entity.User; | ||
// | ||
//@Controller | ||
//@RequestMapping("/user") | ||
//public class LoginController { | ||
// | ||
// private final UserService userService; | ||
// | ||
// @Autowired | ||
// public LoginController(UserService userService) { | ||
// this.userService = userService; | ||
// } | ||
// | ||
// @GetMapping("form") | ||
// public String form(@CookieValue(required = false) String email, Model model) { | ||
// model.addAttribute("UserDTO", new UserDTO()); | ||
// return "user/form"; | ||
// } | ||
// | ||
// @PostMapping | ||
// public String add(UserDTO dto){ | ||
// User user = new User(); | ||
// user.setEmail(dto.getEmail()); | ||
// user.setPassword(dto.getPassword()); | ||
// user.setNickName(dto.getEmail()); | ||
// return "redirect:/"; | ||
// } | ||
// | ||
// @PostMapping("login") | ||
// public ResponseEntity<?> login(@RequestBody UserDTO requestDto) { | ||
// try { | ||
// User authenticatedUser = userService.login(requestDto.getEmail(), requestDto.getPassword()); | ||
// return ResponseEntity.ok(authenticatedUser); | ||
// } catch (Exception e) { | ||
// return ResponseEntity.badRequest().body(e.getMessage()); | ||
// } | ||
// } | ||
// | ||
// @GetMapping("logout") | ||
// public ResponseEntity<String> logout(SessionStatus sessionStatus) { | ||
// sessionStatus.setComplete(); | ||
// | ||
// return ResponseEntity.ok("로그아웃"); | ||
// } | ||
// | ||
//} |
Oops, something went wrong.