Skip to content

Commit

Permalink
conflict 해결
Browse files Browse the repository at this point in the history
  • Loading branch information
raeraeraee committed Sep 21, 2023
2 parents 5c0abc2 + b555b6c commit ba41c20
Show file tree
Hide file tree
Showing 11 changed files with 229 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,4 @@ public List<String> extractImageUrlsSortedByDateTime() {
}




}
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,76 @@
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import picasso.server.api.user.service.UserService;
import picasso.server.domain.domains.dto.UserDTO;
import picasso.server.domain.domains.user.dto.UserDto;
import picasso.server.domain.domains.user.entity.User;
import picasso.server.api.user.service.UserService;

import java.util.HashMap;
import java.util.Map;

import java.util.Optional;

@Slf4j
@Controller
@RequiredArgsConstructor
@RequestMapping("/user")
@RequiredArgsConstructor
public class UserController {

private final UserService userService;

@GetMapping("/new")
public String createForm() {
return "user/UserForm";
}

@PostMapping
public String add(UserDto dto, Model model) {
userService.saveUser(UserDto.userEntity(dto));
return "redirect:/";
}

@GetMapping("/list")
public String listMembers(Model model) {
model.addAttribute("user", userService.findAllUsers());
return "user/list";
}

// 마이페이지 수정 전
@GetMapping("/mypage")
public String getUserByEmail(HttpSession session, Model model) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
// TODO : 사용자 정보 없는 경우 Exception 처리 필요 (로그인을 하지 않은 상태이기 떄문)
}

Optional<User> optionalUser = userService.findUserById(loginUser.getId());
if (optionalUser.isEmpty()) {
// TODO : 로그인 사용자(세션)는 존재하더라도, DB에서 현재 사용자 정보가 존재하지 않는 경우이기 떄문에 Exception처리가 필요
}
model.addAttribute("user", optionalUser.get());
return "user/mypage";
}

@GetMapping("/form")
public String form(@CookieValue(required = false) String email, Model model) {
model.addAttribute("UserDTO", new UserDTO());
return "user/form";
public String form(@CookieValue(required = false) String email,Model model){
model.addAttribute("UserDTO",new UserDTO());
return"user/form";
}

@PostMapping("form")
public ResponseEntity<User> signUp(@RequestBody UserDTO userDto) {
User registeredUser = userService.signUp(userDto);
public ResponseEntity<User> signUp(@RequestBody UserDTO userDto){
User registeredUser=userService.signUp(userDto);
return ResponseEntity.ok(registeredUser);
}

Expand Down

This file was deleted.

38 changes: 26 additions & 12 deletions Api/src/main/java/picasso/server/api/user/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import picasso.server.domain.domains.dto.UserDTO;
import picasso.server.domain.domains.user.repository.UserRepository;
import picasso.server.domain.domains.user.entity.User;
import picasso.server.domain.domains.user.repository.UserRepository;

import java.util.List;
import java.util.Optional;
Expand All @@ -17,6 +17,31 @@ public class UserService {

private final UserRepository userRepository;

public void saveUser(User user) {
userRepository.save(user);
}

public List<User> findAllUsers() {
return userRepository.findAll();
}


public Optional<User> findUserById(Long id) {
return userRepository.findById(id);
}

public Optional<User> findUserByNickname(String nickname) {
return userRepository.findByNickName(nickname);
}


public List<User> findAllMembers() {
return userRepository.findAll();
}

// public User findByEmail(String email) {
// return userRepository.findByEmail();
// }

public User signUp(UserDTO userDto) {

Expand All @@ -41,13 +66,6 @@ public User save(User user) {
return userRepository.save(user);
}

public List<User> findAllUsers() {
return userRepository.findAll();
}

public Optional<User> findUserById(Long id) {
return userRepository.findById(id);
}

public Optional<User> findUserByEmail(String email) {
return userRepository.findByEmail(email);
Expand All @@ -57,10 +75,6 @@ public Optional<User> findUserByEmailAndPassword(String email, String password)
return userRepository.findByEmailAndPassword(email, password);
}

public Optional<User> findUserByNickname(String nickname) {
return userRepository.findByNickName(nickname);
}

public void deleteUserById(Long id) {
userRepository.deleteById(id);
}
Expand Down
20 changes: 20 additions & 0 deletions Api/src/main/resources/templates/user/list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Member List</title>
</head>
<body>
<table>
<tr>
<th>Email</th>
<th>Nickname</th>
<!-- 다른 컬럼들도 여기에 추가 -->
</tr>
<tr th:each="user : ${user}">
<td th:text="${user.email}"></td>
<td th:text="${user.nickname}"></td>
<!-- 다른 컬럼들도 여기에 추가 -->
</tr>
</table>
</body>
</html>
20 changes: 20 additions & 0 deletions Api/src/main/resources/templates/user/mypage.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>My Page</title>
</head>
<body>
<form th:action="@{/user}" method="post">
<label for="nickname">Nickname:</label>
<input type="text" id="nickname" name="nickname" /><br/>

<label for="point">Point:</label>
<input type="text" id="point" name="point" /><br/>

<label for="profile">Profile:</label>
<input type="file" id="profile" name="profile" /><br/>>
<button type="submit">등록</button>

</form>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package picasso.server.domain.domains.user.dto;

import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class MyPageDTO {

private String nickname;
private Long point;
private String profile;



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package picasso.server.domain.domains.user.dto;

import lombok.Builder;
import lombok.Data;
import picasso.server.domain.domains.user.entity.User;
import picasso.server.domain.domains.user.type.LoginType;
import picasso.server.domain.domains.user.type.UserRole;
import picasso.server.domain.domains.user.type.UserStatus;

import java.time.LocalDateTime;

@Data
@Builder
public class UserDto {

private Long id;
private String email;
private String nickname;
private String profile;
private Long point;
private LoginType loginType;
private UserStatus userstatus;
private UserRole role;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private LocalDateTime loginAt;


public static User userEntity(UserDto requestUserDto) {
return User.builder()
.email(requestUserDto.getEmail())
.nickName(requestUserDto.getNickname())
.profile(requestUserDto.getProfile())
.point(requestUserDto.getPoint())
.loginType(requestUserDto.getLoginType())
.userStatus(requestUserDto.getUserstatus())
.userRole(requestUserDto.getRole())
.createdAt(requestUserDto.getCreatedAt())
.updatedAt(requestUserDto.getUpdatedAt())
.loginAt(requestUserDto.getLoginAt())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package picasso.server.domain.domains.user.entity;

import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
Expand All @@ -14,7 +15,7 @@
@Setter
@Table(name = "tbl_token")
@NoArgsConstructor
public class Token {
public class SocialToken {

@Id
@GeneratedValue(strategy = IDENTITY)
Expand All @@ -23,14 +24,15 @@ public class Token {
@OneToOne
private User user;

@Column(nullable = false)
@NotNull
@Column
private String accessToken;

@Column(nullable = false)
@NotNull
@Column
private String refreshToken;

@Column(nullable = false)
private LocalDateTime createdAt;


@NotNull
@Column
private LocalDateTime createdAt = LocalDateTime.now();
}
Loading

0 comments on commit ba41c20

Please sign in to comment.