Blame view

scripts/sh/test_store_total_performance_statistics.sh 3.45 KB
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
  #!/bin/bash
  
  # 测试门店总业绩统计接口(实时查询)
  
  echo "=== 测试门店总业绩统计接口(实时查询) ==="
  
  # 获取Token
  TOKEN=$(curl -s -X POST "http://localhost:2011/api/oauth/Login" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e" | python3 -c "import sys, json; print(json.load(sys.stdin)['data']['token'])" 2>/dev/null)
  
  if [ -z "$TOKEN" ]; then
    echo "❌ 获取Token失败"
    exit 1
  fi
  
  echo "✅ Token获取成功"
  
  # 测试查询2025年12月的门店总业绩统计(带性能测试)
  echo ""
  echo "--- 测试查询2025年12月的门店总业绩统计(第1页,每页10条) ---"
  echo "开始时间: $(date +%s.%3N)"
  START_TIME=$(date +%s.%3N)
  RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}\nTIME_TOTAL:%{time_total}\n" -X POST "http://localhost:2011/api/Extend/LqStatistics/get-store-total-performance-statistics-list" \
    -H "Authorization: $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "statisticsMonth": "202512",
      "pageIndex": 1,
      "pageSize": 10
    }')
  END_TIME=$(date +%s.%3N)
  
  # 提取HTTP状态码和响应时间
  HTTP_CODE=$(echo "$RESPONSE" | grep "HTTP_CODE:" | cut -d: -f2)
  TIME_TOTAL=$(echo "$RESPONSE" | grep "TIME_TOTAL:" | cut -d: -f2)
  RESPONSE_BODY=$(echo "$RESPONSE" | sed '/HTTP_CODE:/d' | sed '/TIME_TOTAL:/d')
  
  echo "响应时间: ${TIME_TOTAL}秒"
  echo "HTTP状态码: $HTTP_CODE"
  echo ""
  echo "响应内容(前500字符):"
  echo "$RESPONSE_BODY" | head -c 500
  echo ""
  echo "..."
  
  # 使用RESPONSE_BODY进行后续处理
  RESPONSE="$RESPONSE_BODY"
  
  # 解析响应
  CODE=$(echo "$RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('code', 0))" 2>/dev/null)
  HAS_DATA=$(echo "$RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print('yes' if data.get('data', {}).get('list') else 'no')" 2>/dev/null)
  
  if [ "$CODE" = "200" ] && [ "$HAS_DATA" = "yes" ]; then
    echo ""
    echo "✅ 接口调用成功"
    
    # 显示统计信息
    TOTAL=$(echo "$RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('data', {}).get('pagination', {}).get('total', 0))" 2>/dev/null)
    LIST_COUNT=$(echo "$RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(len(data.get('data', {}).get('list', [])))" 2>/dev/null)
    
    echo "总记录数: $TOTAL"
    echo "当前页记录数: $LIST_COUNT"
    
    # 显示前3条记录的关键信息
    echo ""
    echo "前3条记录详情:"
    echo "$RESPONSE" | python3 -c "
  import sys, json
  try:
      data = json.load(sys.stdin)
      items = data.get('data', {}).get('list', [])[:3]
      if items:
          for i, item in enumerate(items, 1):
              store_name = item.get('StoreName', item.get('storeName', '无'))
              total_perf = item.get('TotalPerformance', item.get('totalPerformance', 0))
              actual_perf = item.get('ActualPerformance', item.get('actualPerformance', 0))
              first_count = item.get('FirstOrderCount', item.get('firstOrderCount', 0))
              upgrade_count = item.get('UpgradeOrderCount', item.get('upgradeOrderCount', 0))
              print(f'{i}. 门店: {store_name}, 总业绩: {total_perf:,.2f}, 实际业绩: {actual_perf:,.2f}, 首开单: {first_count}, 升单: {upgrade_count}')
      else:
          print('未找到数据')
  except Exception as e:
      print(f'解析错误: {e}')
  " 2>/dev/null
  else
    echo ""
    echo "❌ 接口调用失败,返回码: $CODE"
  fi
  
  echo ""
  echo "=== 测试完成 ==="