From 794f741b67fd42b06ebdbe78fafec977270c9620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?user=20=EC=9D=B4=EB=A6=84?= Date: Wed, 13 Mar 2024 00:12:18 +0900 Subject: [PATCH] =?UTF-8?q?YEL-224=20[feat]=20Pay=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/pay/controller/PayController.java | 28 ----------- .../pay/dto/request/PayCountRequest.java | 10 ---- .../yello/server/domain/pay/entity/Pay.java | 47 ------------------- .../pay/repository/PayJpaRepository.java | 11 ----- .../domain/pay/repository/PayRepository.java | 12 ----- .../pay/repository/PayRepositoryImpl.java | 24 ---------- .../server/domain/pay/service/PayService.java | 29 ------------ 7 files changed, 161 deletions(-) delete mode 100644 src/main/java/com/yello/server/domain/pay/controller/PayController.java delete mode 100644 src/main/java/com/yello/server/domain/pay/dto/request/PayCountRequest.java delete mode 100644 src/main/java/com/yello/server/domain/pay/entity/Pay.java delete mode 100644 src/main/java/com/yello/server/domain/pay/repository/PayJpaRepository.java delete mode 100644 src/main/java/com/yello/server/domain/pay/repository/PayRepository.java delete mode 100644 src/main/java/com/yello/server/domain/pay/repository/PayRepositoryImpl.java delete mode 100644 src/main/java/com/yello/server/domain/pay/service/PayService.java diff --git a/src/main/java/com/yello/server/domain/pay/controller/PayController.java b/src/main/java/com/yello/server/domain/pay/controller/PayController.java deleted file mode 100644 index e7a8bf1e..00000000 --- a/src/main/java/com/yello/server/domain/pay/controller/PayController.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yello.server.domain.pay.controller; - -import static com.yello.server.global.common.SuccessCode.CREATE_PAY_COUNT; - -import com.yello.server.domain.pay.dto.request.PayCountRequest; -import com.yello.server.domain.pay.service.PayService; -import com.yello.server.domain.user.entity.User; -import com.yello.server.global.common.annotation.AccessTokenUser; -import com.yello.server.global.common.dto.BaseResponse; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("api/v1/pay") -@RequiredArgsConstructor -public class PayController { - - private final PayService payService; - - @PostMapping - public BaseResponse postPayCount(@AccessTokenUser User user, @RequestBody PayCountRequest request) { - payService.postPayCount(user.getId(), request.index()); - return BaseResponse.success(CREATE_PAY_COUNT); - } -} diff --git a/src/main/java/com/yello/server/domain/pay/dto/request/PayCountRequest.java b/src/main/java/com/yello/server/domain/pay/dto/request/PayCountRequest.java deleted file mode 100644 index f54bbe4f..00000000 --- a/src/main/java/com/yello/server/domain/pay/dto/request/PayCountRequest.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.yello.server.domain.pay.dto.request; - -import lombok.Builder; - -@Builder -public record PayCountRequest( - Integer index -) { - -} diff --git a/src/main/java/com/yello/server/domain/pay/entity/Pay.java b/src/main/java/com/yello/server/domain/pay/entity/Pay.java deleted file mode 100644 index 47463c7d..00000000 --- a/src/main/java/com/yello/server/domain/pay/entity/Pay.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yello.server.domain.pay.entity; - -import com.yello.server.domain.user.entity.User; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.hibernate.annotations.OnDelete; -import org.hibernate.annotations.OnDeleteAction; - -@Entity -@Getter -@Builder -@AllArgsConstructor -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Pay { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - private Integer optionIndex; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "userId") - @OnDelete(action = OnDeleteAction.CASCADE) - private User user; - - public static Pay of(Integer optionIndex, User user) { - return Pay.builder() - .optionIndex(optionIndex) - .user(user) - .build(); - } - - public static Pay createPay(Integer optionIndex, User user) { - return Pay.of(optionIndex, user); - } -} diff --git a/src/main/java/com/yello/server/domain/pay/repository/PayJpaRepository.java b/src/main/java/com/yello/server/domain/pay/repository/PayJpaRepository.java deleted file mode 100644 index 7b32874d..00000000 --- a/src/main/java/com/yello/server/domain/pay/repository/PayJpaRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yello.server.domain.pay.repository; - -import com.yello.server.domain.pay.entity.Pay; -import com.yello.server.domain.user.entity.User; -import java.util.List; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface PayJpaRepository extends JpaRepository { - - List findAllByUserAndOptionIndex(User user, Integer optionIndex); -} diff --git a/src/main/java/com/yello/server/domain/pay/repository/PayRepository.java b/src/main/java/com/yello/server/domain/pay/repository/PayRepository.java deleted file mode 100644 index 778aec1e..00000000 --- a/src/main/java/com/yello/server/domain/pay/repository/PayRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yello.server.domain.pay.repository; - -import com.yello.server.domain.pay.entity.Pay; -import com.yello.server.domain.user.entity.User; -import java.util.List; - -public interface PayRepository { - - Pay save(Pay pay); - - List findAllByUserAndOptionIndex(User user, Integer optionIndex); -} diff --git a/src/main/java/com/yello/server/domain/pay/repository/PayRepositoryImpl.java b/src/main/java/com/yello/server/domain/pay/repository/PayRepositoryImpl.java deleted file mode 100644 index 457d21a3..00000000 --- a/src/main/java/com/yello/server/domain/pay/repository/PayRepositoryImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yello.server.domain.pay.repository; - -import com.yello.server.domain.pay.entity.Pay; -import com.yello.server.domain.user.entity.User; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -@Repository -@RequiredArgsConstructor -public class PayRepositoryImpl implements PayRepository { - - private final PayJpaRepository payJpaRepository; - - @Override - public Pay save(Pay pay) { - return payJpaRepository.save(pay); - } - - @Override - public List findAllByUserAndOptionIndex(User user, Integer optionIndex) { - return payJpaRepository.findAllByUserAndOptionIndex(user, optionIndex); - } -} diff --git a/src/main/java/com/yello/server/domain/pay/service/PayService.java b/src/main/java/com/yello/server/domain/pay/service/PayService.java deleted file mode 100644 index 4ccd1548..00000000 --- a/src/main/java/com/yello/server/domain/pay/service/PayService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yello.server.domain.pay.service; - -import com.yello.server.domain.pay.entity.Pay; -import com.yello.server.domain.pay.repository.PayRepository; -import com.yello.server.domain.user.entity.User; -import com.yello.server.domain.user.repository.UserRepository; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Service -@RequiredArgsConstructor -@Transactional(readOnly = true) -public class PayService { - - private final UserRepository userRepository; - private final PayRepository payRepository; - - @Transactional - public void postPayCount(Long userId, Integer optionIndex) { - final User user = userRepository.getById(userId); - final List allByUserAndIndex = payRepository.findAllByUserAndOptionIndex(user, - optionIndex); - if (allByUserAndIndex.isEmpty()) { - payRepository.save(Pay.createPay(optionIndex, user)); - } - } -}