From 53629efbd522f91f85fb3b557cd8be19b4f0c93f Mon Sep 17 00:00:00 2001 From: kang Date: Tue, 20 Aug 2024 18:27:05 +0900 Subject: [PATCH] feat: calculate charge --- src/main/java/co/orange/ddanzi/service/OrderService.java | 8 ++++++-- .../java/co/orange/ddanzi/service/PaymentService.java | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/co/orange/ddanzi/service/OrderService.java b/src/main/java/co/orange/ddanzi/service/OrderService.java index 73f02cc2..86bdcf30 100644 --- a/src/main/java/co/orange/ddanzi/service/OrderService.java +++ b/src/main/java/co/orange/ddanzi/service/OrderService.java @@ -47,6 +47,8 @@ public class OrderService { @Autowired TermService termService; @Autowired + PaymentService paymentService; + @Autowired OrderOptionDetailService orderOptionDetailService; @@ -58,6 +60,8 @@ public ApiResponse checkOrderProduct(String productId){ Discount discount = discountRepository.findById(productId).orElse(null); User user = authUtils.getUser(); + Integer salePrice = product.getOriginPrice() - discount.getDiscountPrice(); + Integer charge = paymentService.calculateCharge(salePrice); CheckProductResponseDto responseDto = CheckProductResponseDto.builder() .itemId(item.getId()) @@ -67,8 +71,8 @@ public ApiResponse checkOrderProduct(String productId){ .originPrice(product.getOriginPrice()) .addressInfo(addressService.setAddressInfo(user)) .discountPrice(discount.getDiscountPrice()) - .charge(100) - .totalPrice(product.getOriginPrice() - discount.getDiscountPrice()) + .charge(charge) + .totalPrice(salePrice+charge) .build(); return ApiResponse.onSuccess(Success.GET_ORDER_PRODUCT_SUCCESS, responseDto); } diff --git a/src/main/java/co/orange/ddanzi/service/PaymentService.java b/src/main/java/co/orange/ddanzi/service/PaymentService.java index b651fc80..717a5d21 100644 --- a/src/main/java/co/orange/ddanzi/service/PaymentService.java +++ b/src/main/java/co/orange/ddanzi/service/PaymentService.java @@ -93,6 +93,10 @@ public ApiResponse endPayment(UpdatePaymentRequestDto requestDto){ return ApiResponse.onSuccess(Success.PATCH_PAYMENT_STATUS_SUCCESS, responseDto); } + public Integer calculateCharge(Integer salePrice){ + return (int) Math.floor(salePrice*0.032); + } + private boolean isAvailableToChangePayment(Payment payment){ User user = authUtils.getUser(); if(payment.getBuyer().equals(user) && payment.getPayStatus().equals(PayStatus.PENDING)) @@ -100,4 +104,5 @@ private boolean isAvailableToChangePayment(Payment payment){ else return false; } + }