#!/usr/bin/env python3
import sys
sys.path.append('backend')

import asyncio
from app.services.procurement_list_service_v2 import ProcurementListServiceV2
from app.core.database import get_db

async def test_tods():
    """测试Tods产品"""
    try:
        service = ProcurementListServiceV2()
        
        async for db in get_db():
            # 测试LA采购方式，增加页面大小
            result = await service.get_product_aggregated_list(
                db=db,
                procurement_method="LA", 
                page=1,
                page_size=50  # 增加页面大小
            )
            
            print("=== LA采购方式测试结果 ===")
            if result and result.get('items'):
                items = result['items']
                print(f"总共找到 {len(items)} 个LA产品")
                
                tods_products = []
                for item in items:
                    if 'Tods' in str(item.get('product_name', '')):
                        tods_products.append(item)
                
                print(f"其中 Tods 产品: {len(tods_products)} 个")
                
                for i, item in enumerate(tods_products[:3], 1):
                    print(f"\nTods产品 #{i}:")
                    print(f"  product_name: {item.get('product_name', 'N/A')}")
                    print(f"  brand: '{item.get('brand', 'N/A')}'")
                    print(f"  待采购数量: {item.get('total_pending_qty', 0)}")
                    print(f"  SKU数量: {item.get('sku_count', 0)}")
            else:
                print("没有找到任何产品")
            break
            
    except Exception as e:
        print(f"错误: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    asyncio.run(test_tods())