import json
import random
from datetime import datetime, timedelta

def generate_sample_data(count=100):
    """生成随机样本数据"""
    categories = ["电子产品", "食品", "服装", "家居", "图书"]
    records = []
    for i in range(count):
        record = {
            "id": i + 1,
            "category": random.choice(categories),
            "price": round(random.uniform(10.0, 999.99), 2),
            "quantity": random.randint(1, 50),
            "date": (datetime.now() - timedelta(days=random.randint(0, 365))).strftime("%Y-%m-%d"),
            "rating": round(random.uniform(1.0, 5.0), 1)
        }
        records.append(record)
    return records

def compute_statistics(records):
    """计算统计信息"""
    total_revenue = sum(r["price"] * r["quantity"] for r in records)
    avg_rating = sum(r["rating"] for r in records) / len(records)
    category_counts = {}
    for r in records:
        category_counts[r["category"]] = category_counts.get(r["category"], 0) + 1
    return {
        "total_revenue": round(total_revenue, 2),
        "average_rating": round(avg_rating, 2),
        "category_distribution": category_counts
    }

if __name__ == "__main__":
    data = generate_sample_data(200)
    stats = compute_statistics(data)
    print(json.dumps(stats, ensure_ascii=False, indent=2))
