Blame view

scripts/test/test_customer_export_api.sh 2.62 KB
08d94686   “wangming”   优化工资相关服务类和DTO类,增强...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  #!/bin/bash
  
  # 客户资料导出接口测试脚本
  # 测试接口:/api/Extend/LqKhxx/Actions/ExportOptimized
  
  BASE_URL="http://localhost:2011"
  LOGIN_URL="${BASE_URL}/api/oauth/Login"
  EXPORT_URL="${BASE_URL}/api/Extend/LqKhxx/Actions/ExportOptimized"
  
  echo "========================================="
  echo "客户资料导出接口测试"
  echo "========================================="
  echo ""
  
  # 1. 登录获取token
  echo "步骤1: 登录获取token..."
  LOGIN_RESPONSE=$(curl -s -X POST "${LOGIN_URL}" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e")
  
  TOKEN=$(echo $LOGIN_RESPONSE | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('token', ''))" 2>/dev/null)
  
  if [ -z "$TOKEN" ]; then
    echo "❌ 登录失败,无法获取token"
    echo "响应: $LOGIN_RESPONSE"
    exit 1
  fi
  
  echo "✓ 登录成功,token获取成功"
  echo ""
  
  # 2. 测试导出接口(带分页参数)
  echo "步骤2: 测试导出接口(查询前10条数据)..."
  EXPORT_RESPONSE=$(curl -s -X GET "${EXPORT_URL}?currentPage=1&pageSize=10" \
    -H "Authorization: ${TOKEN}" \
    -H "Content-Type: application/json")
  
  # 检查响应
  echo "响应状态:"
  echo "$EXPORT_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$EXPORT_RESPONSE"
  
  # 检查是否有错误
  ERROR_CODE=$(echo $EXPORT_RESPONSE | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('code', ''))" 2>/dev/null)
  
  if [ "$ERROR_CODE" = "200" ]; then
    echo ""
    echo "✓ 接口调用成功"
    
    # 获取下载URL
    DOWNLOAD_URL=$(echo $EXPORT_RESPONSE | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('url', ''))" 2>/dev/null)
    FILE_NAME=$(echo $EXPORT_RESPONSE | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('name', ''))" 2>/dev/null)
    
    if [ ! -z "$DOWNLOAD_URL" ]; then
      echo "文件名: $FILE_NAME"
      echo "下载URL: ${BASE_URL}${DOWNLOAD_URL}"
      echo ""
      echo "✓ 导出文件生成成功"
    fi
  elif [ "$ERROR_CODE" = "500" ]; then
    ERROR_MSG=$(echo $EXPORT_RESPONSE | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('msg', ''))" 2>/dev/null)
    echo ""
    echo "❌ 接口调用失败(服务器错误)"
    echo "错误信息: $ERROR_MSG"
    echo ""
    echo "提示: 如果错误信息包含'Method not found',说明服务需要重新编译和重启"
  else
    echo ""
    echo "❌ 接口调用失败"
    echo "错误代码: $ERROR_CODE"
  fi
  
  echo ""
  echo "========================================="
  echo "测试完成"
  echo "========================================="