Skip to content

Commit

Permalink
야~봉세환~
Browse files Browse the repository at this point in the history
  • Loading branch information
bongsh0112 committed Sep 27, 2023
1 parent 906ea3d commit 5cdb38c
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ public String paymentFailed() {
@PostMapping("/payment")
public void createPayment(@RequestBody PostCreatePaymentRequest body) {
paymentService.savePaymentHistory(body);
userService.findUserById(body.getUserId()).ifPresent(u -> u.updatePoint(body.getPaidAmount()));
userService.updatePoint(body);
}
}
111 changes: 60 additions & 51 deletions Api/src/main/java/picasso/server/api/user/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import picasso.server.api.admin.exception.NotFoundUserException;
import picasso.server.api.exchange.model.request.PostCreatePaymentRequest;
import picasso.server.api.user.exception.EmailErrorException;
import picasso.server.api.user.vo.request.LoginRequestDto;
import picasso.server.api.user.vo.request.SignUpRequestDto;
Expand All @@ -16,56 +19,62 @@
@Service
@RequiredArgsConstructor
public class UserService {

private final UserRepository userRepository;

public User signUp(SignUpRequestDto userDto) {

Optional<User> existingUser = userRepository.findByEmail(userDto.getEmail());
if (existingUser.isPresent()) {
throw EmailErrorException.EXCEPTION; // 중복 이메일 체크
}

return userRepository.save(User.builder()
.email(userDto.getEmail())
.password(userDto.getPassword())
.nickName(userDto.getNickName())
.build());
}

public Optional<User> login(LoginRequestDto userDto) {
Optional<User> findUser = userRepository.findByEmailAndPassword(userDto.getEmail(), userDto.getPassword());
findUser.ifPresent(user-> user.setLoginAt(LocalDateTime.now()));
return findUser;
}



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);
}
public Optional<User> findUserById(Long id) {
return userRepository.findById(id);
}

public Optional<User> findUserByIdAndEmail(Long userId, String email) {
return userRepository.findByIdAndEmail(userId, email);
}

public Optional<User> findUserByEmail(String email) {
return userRepository.findByEmail(email);
}

public Optional<User> findById(Long userId) {
return userRepository.findById(userId);

private final UserRepository userRepository;

public User signUp(SignUpRequestDto userDto) {

Optional<User> existingUser = userRepository.findByEmail(userDto.getEmail());
if (existingUser.isPresent()) {
throw EmailErrorException.EXCEPTION; // 중복 이메일 체크
}

return userRepository.save(User.builder()
.email(userDto.getEmail())
.password(userDto.getPassword())
.nickName(userDto.getNickName())
.build());
}

public Optional<User> login(LoginRequestDto userDto) {
Optional<User> findUser = userRepository.findByEmailAndPassword(userDto.getEmail(), userDto.getPassword());
findUser.ifPresent(user -> user.setLoginAt(LocalDateTime.now()));
return findUser;
}


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);
}

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

@Transactional
public void updatePoint(PostCreatePaymentRequest request) {
User findResult = this.findById(request.getUserId()).orElseThrow(()-> NotFoundUserException.EXCEPTION);
findResult.updatePoint(request.getPaidAmount());
}

public Optional<User> findUserByIdAndEmail(Long userId, String email) {
return userRepository.findByIdAndEmail(userId, email);
}

public Optional<User> findUserByEmail(String email) {
return userRepository.findByEmail(email);
}

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

0 comments on commit 5cdb38c

Please sign in to comment.