diff --git a/backend/src/main/java/se/bilhalsning/service/OrderService.java b/backend/src/main/java/se/bilhalsning/service/OrderService.java index 34528e9..f80b27c 100644 --- a/backend/src/main/java/se/bilhalsning/service/OrderService.java +++ b/backend/src/main/java/se/bilhalsning/service/OrderService.java @@ -1,6 +1,7 @@ package se.bilhalsning.service; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import se.bilhalsning.entity.Order; import se.bilhalsning.entity.OrderStatus; @@ -8,6 +9,7 @@ import se.bilhalsning.exception.InvalidOrderStateException; import se.bilhalsning.exception.OrderNotFoundException; import se.bilhalsning.repository.OrderRepository; +import java.math.BigDecimal; import java.util.List; import java.util.UUID; @@ -18,6 +20,9 @@ public class OrderService { private final OrderRepository orderRepository; private final OrderNotificationService orderNotificationService; + @Value("${app.payment.letter-price:49}") + private int letterPrice = 49; + public Order createOrder(UUID userId, String plate, String letterText) { Order order = new Order(); order.setUserId(userId); @@ -72,6 +77,7 @@ public class OrderService { "Beställningen kan inte ändras i detta tillstånd"); } order.setStatus(OrderStatus.PROCESSING); + order.setAmountPaid(BigDecimal.valueOf(letterPrice)); Order saved = orderRepository.save(order); orderNotificationService.notifyOrderProcessing(saved); return saved; @@ -93,6 +99,7 @@ public class OrderService { public Order confirmPayment(UUID orderId, UUID userId) { Order order = requirePendingOwnedBy(orderId, userId); order.setStatus(OrderStatus.PROCESSING); + order.setAmountPaid(BigDecimal.valueOf(letterPrice)); Order saved = orderRepository.save(order); orderNotificationService.notifyOrderProcessing(saved); return saved; diff --git a/backend/src/test/java/se/bilhalsning/service/OrderServiceTest.java b/backend/src/test/java/se/bilhalsning/service/OrderServiceTest.java index 48a3a51..a5509d4 100644 --- a/backend/src/test/java/se/bilhalsning/service/OrderServiceTest.java +++ b/backend/src/test/java/se/bilhalsning/service/OrderServiceTest.java @@ -13,6 +13,7 @@ import se.bilhalsning.exception.InvalidOrderStateException; import se.bilhalsning.exception.OrderNotFoundException; import se.bilhalsning.repository.OrderRepository; +import java.math.BigDecimal; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -222,6 +223,7 @@ class OrderServiceTest { Order result = orderService.confirmPayment(orderId, userId); assertEquals(OrderStatus.PROCESSING, result.getStatus()); + assertEquals(new BigDecimal("49"), result.getAmountPaid()); } @Test @@ -345,6 +347,7 @@ class OrderServiceTest { Order result = orderService.confirmGuestPayment(token); assertEquals(OrderStatus.PROCESSING, result.getStatus()); + assertEquals(new BigDecimal("49"), result.getAmountPaid()); verify(orderNotificationService).notifyOrderProcessing(result); }