Skip to content

Commit

Permalink
Merge pull request #53 from donsonioc2010/feat/member-sunrae
Browse files Browse the repository at this point in the history
충돌해결
  • Loading branch information
knh0113 committed Sep 22, 2023
2 parents ba41c20 + b3648dd commit 14c264b
Show file tree
Hide file tree
Showing 14 changed files with 297 additions and 248 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import picasso.server.api.exchange.model.request.PostCreatePaymentRequest;
import picasso.server.api.exchange.service.PaymentService;
import picasso.server.api.user.service.UserService;
import picasso.server.api.mypage.service.MypageService;
import picasso.server.domain.domains.user.entity.User;

import java.util.Optional;
Expand All @@ -22,7 +22,7 @@
public class PaymentController {

private final PaymentService paymentService;
private final UserService userService;
private final MypageService userService;

@GetMapping("/payment")
public String paymentForm() {
Expand Down
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("로그인 실패");
// }
}
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);
}
}

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:/";
}
}
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("로그아웃");
// }
//
//}
Loading

0 comments on commit 14c264b

Please sign in to comment.