From 5cdb38c344eda9e2dfc4810db001aa3b59a4cd6e Mon Sep 17 00:00:00 2001 From: bongsh0112 Date: Wed, 27 Sep 2023 10:54:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=BC~=EB=B4=89=EC=84=B8=ED=99=98~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PaymentController.java | 2 +- .../server/api/user/service/UserService.java | 111 ++++++++++-------- 2 files changed, 61 insertions(+), 52 deletions(-) diff --git a/Api/src/main/java/picasso/server/api/exchange/controller/PaymentController.java b/Api/src/main/java/picasso/server/api/exchange/controller/PaymentController.java index b763cfe5..d7a54971 100644 --- a/Api/src/main/java/picasso/server/api/exchange/controller/PaymentController.java +++ b/Api/src/main/java/picasso/server/api/exchange/controller/PaymentController.java @@ -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); } } \ No newline at end of file diff --git a/Api/src/main/java/picasso/server/api/user/service/UserService.java b/Api/src/main/java/picasso/server/api/user/service/UserService.java index ecb8e6b2..113c1e60 100644 --- a/Api/src/main/java/picasso/server/api/user/service/UserService.java +++ b/Api/src/main/java/picasso/server/api/user/service/UserService.java @@ -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; @@ -16,56 +19,62 @@ @Service @RequiredArgsConstructor public class UserService { - - private final UserRepository userRepository; - - public User signUp(SignUpRequestDto userDto) { - - Optional 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 login(LoginRequestDto userDto) { - Optional findUser = userRepository.findByEmailAndPassword(userDto.getEmail(), userDto.getPassword()); - findUser.ifPresent(user-> user.setLoginAt(LocalDateTime.now())); - return findUser; - } - - - - public Optional findUserByEmailAndPassword(String email, String password) { - return userRepository.findByEmailAndPassword(email, password); - } - - public Optional findUserByNickname(String nickname) { - return userRepository.findByNickName(nickname); - } - - - public void deleteUserById(Long id) { - userRepository.deleteById(id); - } - public Optional findUserById(Long id) { - return userRepository.findById(id); - } - - public Optional findUserByIdAndEmail(Long userId, String email) { - return userRepository.findByIdAndEmail(userId, email); - } - - public Optional findUserByEmail(String email) { - return userRepository.findByEmail(email); - } - - public Optional findById(Long userId) { - return userRepository.findById(userId); + + private final UserRepository userRepository; + + public User signUp(SignUpRequestDto userDto) { + + Optional 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 login(LoginRequestDto userDto) { + Optional findUser = userRepository.findByEmailAndPassword(userDto.getEmail(), userDto.getPassword()); + findUser.ifPresent(user -> user.setLoginAt(LocalDateTime.now())); + return findUser; + } + + + public Optional findUserByEmailAndPassword(String email, String password) { + return userRepository.findByEmailAndPassword(email, password); + } + + public Optional findUserByNickname(String nickname) { + return userRepository.findByNickName(nickname); + } + + + public void deleteUserById(Long id) { + userRepository.deleteById(id); + } + + public Optional 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 findUserByIdAndEmail(Long userId, String email) { + return userRepository.findByIdAndEmail(userId, email); + } + + public Optional findUserByEmail(String email) { + return userRepository.findByEmail(email); + } + + public Optional findById(Long userId) { + return userRepository.findById(userId); + } }