#!/usr/bin/env python3
"""
测试付款时间字段是否正确返回
"""
import os
import requests
import json
from datetime import datetime

# 禁用代理
os.environ['NO_PROXY'] = 'localhost,127.0.0.1'
os.environ.pop('http_proxy', None)
os.environ.pop('https_proxy', None)
os.environ.pop('all_proxy', None)

def test_payment_time():
    """测试新发货模块API是否返回付款时间"""

    # 配置请求
    url = "http://localhost:8000/api/v1/new-shipping/pending-orders"
    headers = {"Content-Type": "application/json"}
    data = {"limit": 1, "shop_name": "晴七公主"}

    try:
        # 发送POST请求
        response = requests.post(url, json=data, headers=headers, timeout=5)

        if response.status_code == 200:
            result = response.json()

            if 'orders' in result and len(result['orders']) > 0:
                order = result['orders'][0]

                print("✅ 成功获取订单数据！\n")
                print("=" * 50)
                print("订单基本信息:")
                print(f"  子订单编号: {order.get('子订单编号', '未找到')}")
                print(f"  商品标题: {order.get('商品标题', '未找到')[:30]}...")
                print(f"  网店名称: {order.get('网店名称', '未找到')}")

                print("\n时间相关字段:")
                print(f"  订单付款时间: {order.get('订单付款时间', '❌ 字段缺失')}")
                print(f"  订单创建时间: {order.get('订单创建时间', '❌ 字段缺失')}")
                print(f"  数据更新时间: {order.get('数据更新时间', '❌ 字段缺失')}")

                print("\n金额相关字段:")
                print(f"  商品价格: {order.get('商品价格', '❌ 字段缺失')}")
                print(f"  买家实付金额: {order.get('买家实付金额', '❌ 字段缺失')}")
                print(f"  买家应付货款: {order.get('买家应付货款', '❌ 字段缺失')}")

                print("\n其他新增字段:")
                print(f"  商家编码: {order.get('商家编码', '❌ 字段缺失')}")
                print(f"  支付单号: {order.get('支付单号', '❌ 字段缺失')}")
                print(f"  外部系统编号: {order.get('外部系统编号', '❌ 字段缺失')}")
                print(f"  备注标签: {order.get('备注标签', '❌ 字段缺失')}")

                print("\n" + "=" * 50)
                print(f"返回字段总数: {len(order.keys())}")
                print(f"所有字段列表 (前30个): {list(order.keys())[:30]}")

                # 检查关键字段
                if '订单付款时间' in order:
                    print("\n✅ 付款时间字段修复成功！")
                else:
                    print("\n❌ 付款时间字段仍然缺失")

            else:
                print("⚠️ 没有找到订单数据")
                print(f"响应内容: {result}")

        else:
            print(f"❌ API请求失败，状态码: {response.status_code}")
            print(f"响应内容: {response.text}")

    except requests.exceptions.RequestException as e:
        print(f"❌ 网络请求错误: {e}")
    except json.JSONDecodeError as e:
        print(f"❌ JSON解析错误: {e}")
    except Exception as e:
        print(f"❌ 未知错误: {e}")

if __name__ == "__main__":
    test_payment_time()