/** * 订单类,包含订单的基本信息 */ package com.orderprocessing; import java.util.Date; import java.util.List; public class Order { private String orderId; private Date orderDate; private double totalAmount; private String customerName; private List items; private OrderStatus status; public enum OrderStatus { CREATED, VALIDATED, PROCESSED, SHIPPED, DELIVERED, CANCELLED } // 构造方法 public Order(String orderId, String customerName, List items) { this.orderId = orderId; this.customerName = customerName; this.items = items; this.orderDate = new Date(); this.status = OrderStatus.CREATED; calculateTotalAmount(); } // 计算订单总金额 private void calculateTotalAmount() { totalAmount = 0; if (items != null) { for (OrderItem item : items) { totalAmount += item.getPrice() * item.getQuantity(); } } } // 应用折扣 public void applyDiscount(double discountAmount) { if (discountAmount > 0 && discountAmount <= totalAmount) { totalAmount -= discountAmount; } } // getter和setter方法 public String getOrderId() { return orderId; } public Date getOrderDate() { return orderDate; } public double getTotalAmount() { return totalAmount; } public String getCustomerName() { return customerName; } public List getItems() { return items; } public OrderStatus getStatus() { return status; } public void setStatus(OrderStatus status) { this.status = status; } @Override public String toString() { return "Order{" + "orderId='" + orderId + '\'' + ", customerName='" + customerName + '\'' + ", totalAmount=" + totalAmount + ", status=" + status + '}'; } }