#!/usr/bin/env python3
"""
导出真实产品数据
"""

import sqlite3
import json
from datetime import datetime

def export_products_to_json():
    """从数据库导出产品数据为JSON格式"""
    
    # 连接数据库
    conn = sqlite3.connect('ordersys.db')
    cursor = conn.cursor()
    
    # 查询产品数据
    query = """
    SELECT 
        id,
        sku_key,
        线上宝贝名称,
        品牌,
        货号,
        颜色 as 题色,
        尺寸,
        线上销售属性,
        procurement_method,
        main_image_path,
        original_image_urls,
        image_download_status,
        is_active,
        created_at,
        updated_at
    FROM products_master 
    WHERE is_active = 1 
    ORDER BY updated_at DESC 
    LIMIT 200
    """
    
    cursor.execute(query)
    columns = [desc[0] for desc in cursor.description]
    rows = cursor.fetchall()
    
    # 转换为字典列表
    products = []
    for row in rows:
        product = dict(zip(columns, row))
        
        # 处理图片URLs
        if product['original_image_urls']:
            try:
                product['original_image_urls'] = json.loads(product['original_image_urls'])
            except:
                product['original_image_urls'] = []
        else:
            product['original_image_urls'] = []
        
        # 处理空值
        for key, value in product.items():
            if value is None:
                product[key] = ''
        
        products.append(product)
    
    conn.close()
    
    # 保存为JSON文件
    with open('real_products_data.json', 'w', encoding='utf-8') as f:
        json.dump({
            'total': len(products),
            'exported_at': datetime.now().isoformat(),
            'products': products
        }, f, ensure_ascii=False, indent=2)
    
    print(f"✅ 成功导出 {len(products)} 个产品到 real_products_data.json")
    
    # 生成前端代码片段
    print("\n=== 前端代码片段 ===")
    print("// 真实产品数据 (前200条)")
    print("const REAL_PRODUCTS_DATA = [")
    
    for i, product in enumerate(products[:10]):  # 只显示前10个作为示例
        print("  {")
        print(f"    id: {product['id']},")
        print(f"    sku_key: '{product['sku_key']}',")
        print(f"    线上宝贝名称: '{product['线上宝贝名称']}',")
        print(f"    品牌: '{product['品牌']}',")
        print(f"    货号: '{product['货号']}',")
        print(f"    题色: '{product['题色']}',")
        print(f"    尺寸: '{product['尺寸']}',")
        print(f"    线上销售属性: '{product['线上销售属性']}',")
        print(f"    procurement_method: '{product['procurement_method']}',")
        print(f"    main_image_path: null,")
        print(f"    original_image_urls: [],")
        print(f"    image_download_status: '{product['image_download_status']}',")
        print(f"    is_active: {str(product['is_active']).lower()},")
        print(f"    created_at: '{product['created_at']}',")
        print(f"    updated_at: '{product['updated_at']}'")
        print("  }" + ("," if i < 9 else ""))
    
    print("  // ... 更多产品数据")
    print("];")
    
    return products

if __name__ == "__main__":
    export_products_to_json()