Untitled
unknown
java
a year ago
1.3 kB
6
Indexable
@Service
public class OrderProcessingService {
@Autowired
private OrderRepository orderRepository;
@Autowired
private ProductRepository productRepository;
@Autowired
private NotificationService notificationService;
public void processOrder(Long orderId) {
// Fetch order
Order order = orderRepository.findById(orderId).orElseThrow(() -> new RuntimeException("Order not found"));
// Fetch products
List<Product> products = new ArrayList<>();
for (Long productId : order.getProductIds()) {
Product product = productRepository.findById(productId)
.orElseThrow(() -> new RuntimeException("Product not found"));
products.add(product);
}
// Calculate total price
double totalPrice = 0;
for (Product product : products) {
totalPrice += product.getPrice();
}
// Update order status
order.setTotalPrice(totalPrice);
order.setStatus("PROCESSED");
orderRepository.save(order);
// Send notification
notificationService.sendNotification(order.getCustomerId(), "Your order has been processed!");
System.out.println("Order processed successfully!");
}
}
Editor is loading...
Leave a Comment