/** * 总销售额分析策略,计算订单的总销售额和平均订单金额 */ package com.orderprocessing; import java.util.HashMap; import java.util.List; import java.util.Map; public class TotalSalesAnalysisStrategy implements OrderAnalysisStrategy { @Override public Map analyze(List orders) { Map results = new HashMap<>(); if (orders == null || orders.isEmpty()) { results.put("totalSales", 0.0); results.put("averageOrderAmount", 0.0); results.put("orderCount", 0); return results; } double totalSales = 0.0; int processedOrderCount = 0; for (Order order : orders) { if (order.getStatus() == Order.OrderStatus.PROCESSED || order.getStatus() == Order.OrderStatus.SHIPPED || order.getStatus() == Order.OrderStatus.DELIVERED) { totalSales += order.getTotalAmount(); processedOrderCount++; } } double averageOrderAmount = processedOrderCount > 0 ? totalSales / processedOrderCount : 0.0; results.put("totalSales", totalSales); results.put("averageOrderAmount", averageOrderAmount); results.put("orderCount", processedOrderCount); return results; } @Override public String getStrategyName() { return "总销售额分析"; } }