"""快速数据验证"""
import pandas as pd
import sys
sys.stdout.reconfigure(encoding='utf-8')

df = pd.read_parquet(r'C:\Users\Administrator\.openclaw\workspace\letaro\data_model\sales.parquet')

print('=== 门店业绩汇总（5月1日~31日）===')
sales_df = df[df['is_refund']==False]
total_sales = sales_df['subtotal'].sum()
print(f'总销售额: \u00a5{total_sales:,.0f}')
print(f'总单数: {len(sales_df)}')
print()

# 各店业绩
store_sales = sales_df.groupby('store_name')['subtotal'].sum().sort_values(ascending=False)
print('门店排名：')
for s, v in store_sales.items():
    if s and s.strip():
        print(f'  {s}: \u00a5{v:,.0f}')
print()

# 退货
refunds = df[df['is_refund']==True]
print(f'退货单数: {len(refunds)}')
print(f'退货金额: \u00a5{refunds["subtotal"].sum():,.0f}')
refund_rate = len(refunds) / len(df) * 100
print(f'退货率: {refund_rate:.1f}%')
print()

# TOP商品
print('TOP 10 畅销商品：')
top_items = sales_df.groupby('product_name')['quantity'].sum().sort_values(ascending=False).head(10)
for name, qty in top_items.items():
    if name and name.strip() and name != 'nan':
        print(f'  {name}: {int(qty)}件')
print()

# 库存品类
inv = pd.read_parquet(r'C:\Users\Administrator\.openclaw\workspace\letaro\data_model\inventory.parquet')
print('库存品类分布：')
for cat, grp in inv.groupby('category'):
    qty = int(grp['stock_qty'].sum())
    val = (grp['retail_price'] * grp['stock_qty']).sum()
    if qty > 0:
        cat_name = cat if cat and str(cat) != 'nan' else '未分类'
        print(f'  {cat_name}: {qty}件, \u00a5{val:,.0f}')

print()
print('=== 数据验证完成 ===')
