Blame view

项目文档相关/scripts/sh/test_customer_export_optimized.sh 2.84 KB
d8035736   “wangming”   Refactor project ...
1
2
3
4
5
6
7
8
9
  #!/bin/bash
  
  # 测试客户信息导出接口(优化版)
  
  echo "=== 测试客户信息导出接口(优化版) ==="
  echo ""
  
  # 1. 获取token
  echo "步骤1: 获取Token..."
8daf47d0   “wangming”   修改访问地址
10
  TOKEN_RESPONSE=$(curl -s -X POST "http://localhost:2015/api/oauth/Login" \
d8035736   “wangming”   Refactor project ...
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e")
  
  TOKEN=$(echo "$TOKEN_RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data['data']['token'])" 2>/dev/null)
  
  if [ -z "$TOKEN" ]; then
    echo "❌ Token获取失败"
    echo "响应: $TOKEN_RESPONSE"
    exit 1
  fi
  
  echo "✅ Token获取成功"
  echo ""
  
  # 2. 测试导出接口(不带参数,导出所有数据)
  echo "步骤2: 调用导出接口..."
  echo "接口: GET /api/Extend/LqKhxx/Actions/ExportOptimized"
  echo ""
  
8daf47d0   “wangming”   修改访问地址
30
  EXPORT_RESPONSE=$(curl -s -X GET "http://localhost:2015/api/Extend/LqKhxx/Actions/ExportOptimized?currentPage=1&pageSize=10" \
d8035736   “wangming”   Refactor project ...
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
    -H "Authorization: $TOKEN")
  
  echo "响应结果:"
  echo "$EXPORT_RESPONSE" | python3 -c "
  import sys, json
  try:
      data = json.load(sys.stdin)
      print(f\"状态码: {data.get('code', 'N/A')}\")
      print(f\"消息: {data.get('msg', 'N/A')}\")
      if 'data' in data:
          print(f\"文件名: {data['data'].get('name', 'N/A')}\")
          print(f\"下载URL: {data['data'].get('url', 'N/A')}\")
          if data['data'].get('url'):
              print(\"\\n✅ 导出成功!文件已生成\")
          else:
              print(\"\\n⚠️  导出响应成功,但未返回文件URL\")
      else:
          print(\"\\n❌ 响应中未包含data字段\")
  except Exception as e:
      print(f'解析错误: {e}')
      print('原始响应:')
      sys.stdin.seek(0)
      print(sys.stdin.read())
  " 2>/dev/null
  
  echo ""
  
  # 3. 测试带筛选条件的导出
  echo "步骤3: 测试带筛选条件的导出(客户名称包含'测试')..."
  echo ""
  
8daf47d0   “wangming”   修改访问地址
62
  EXPORT_FILTERED_RESPONSE=$(curl -s -X GET "http://localhost:2015/api/Extend/LqKhxx/Actions/ExportOptimized?khmc=测试&currentPage=1&pageSize=10" \
d8035736   “wangming”   Refactor project ...
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
    -H "Authorization: $TOKEN")
  
  echo "响应结果:"
  echo "$EXPORT_FILTERED_RESPONSE" | python3 -c "
  import sys, json
  try:
      data = json.load(sys.stdin)
      print(f\"状态码: {data.get('code', 'N/A')}\")
      print(f\"消息: {data.get('msg', 'N/A')}\")
      if 'data' in data:
          print(f\"文件名: {data['data'].get('name', 'N/A')}\")
          print(f\"下载URL: {data['data'].get('url', 'N/A')}\")
          if data['data'].get('url'):
              print(\"\\n✅ 筛选导出成功!文件已生成\")
          else:
              print(\"\\n⚠️  导出响应成功,但未返回文件URL\")
      else:
          print(\"\\n❌ 响应中未包含data字段\")
  except Exception as e:
      print(f'解析错误: {e}')
  " 2>/dev/null
  
  echo ""
  echo "=== 测试完成 ==="
  echo ""
  echo "提示: 如果导出成功,文件会保存在项目根目录的 ExportFiles 文件夹中"