Blame view

scripts/sh/test_health_coach_statistics.sh 3.41 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
93
94
  #!/bin/bash
  
  # 测试健康师统计接口
  
  echo "=== 测试健康师统计接口 ==="
  echo ""
  
  # 1. 获取token
  echo "=== 1. 获取Token ==="
  TOKEN_RESPONSE=$(curl -s -X POST "http://localhost:2011/api/oauth/Login" \
    -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. 测试接口 - 查询2025年12月的数据
  echo "=== 2. 测试接口 - 查询2025年12月的数据 ==="
  START_TIME=$(date +%s%N)
  RESPONSE=$(curl -s -w "\n%{http_code}\n%{time_total}" -X GET "http://localhost:2011/api/Extend/lqkdkdjlb/get-health-coach-statistics?startTime=2025-12-01&endTime=2025-12-31&currentPage=1&pageSize=10" \
    -H "Authorization: $TOKEN")
  END_TIME=$(date +%s%N)
  
  HTTP_CODE=$(echo "$RESPONSE" | tail -2 | head -1)
  TIME_TOTAL=$(echo "$RESPONSE" | tail -1)
  RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d' | sed '$d')
  
  echo "HTTP状态码: $HTTP_CODE"
  echo "响应时间: ${TIME_TOTAL}秒"
  ELAPSED_MS=$((($END_TIME - $START_TIME) / 1000000))
  echo "总耗时: ${ELAPSED_MS}毫秒"
  echo ""
  
  # 检查返回结果
  if [ "$HTTP_CODE" = "200" ]; then
    CODE=$(echo "$RESPONSE_BODY" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('code', ''))" 2>/dev/null)
    if [ "$CODE" = "200" ]; then
      echo "✅ 接口调用成功"
      LIST_COUNT=$(echo "$RESPONSE_BODY" | python3 -c "import sys, json; data=json.load(sys.stdin); print(len(data.get('data', {}).get('list', [])))" 2>/dev/null)
      TOTAL=$(echo "$RESPONSE_BODY" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('data', {}).get('pagination', {}).get('total', 0))" 2>/dev/null)
      echo "返回数据条数: $LIST_COUNT"
      echo "总记录数: $TOTAL"
      
      # 显示前3条数据的详细信息
      echo ""
      echo "前3条数据的详细信息:"
      echo "$RESPONSE_BODY" | python3 -c "
  import sys, json
  try:
      data = json.load(sys.stdin)
      items = data.get('data', {}).get('list', [])[:3]
      for i, item in enumerate(items, 1):
          print(f\"{i}. {item.get('employeeName', 'N/A')}: 到店人数={item.get('visitCount', 0)}, 预约人数={item.get('appointmentCount', 0)}, 邀约人数={item.get('inviteCount', 0)}\")
          print(f\"   金三角名称: {item.get('goldTriangleName', '无')}, 队伍业绩占比: {item.get('teamPerformanceRatio', 0)}%\")
          print(f\"   开单金额: {item.get('billingAmount', 0)}\")
  except Exception as e:
      print(f'解析错误: {e}')
  " 2>/dev/null
      
      # 检查是否有到店人数大于0的记录
      HAS_VISIT=$(echo "$RESPONSE_BODY" | python3 -c "
  import sys, json
  try:
      data = json.load(sys.stdin)
      items = data.get('data', {}).get('list', [])
      has_visit = any(item.get('visitCount', 0) > 0 for item in items)
      print('1' if has_visit else '0')
  except:
      print('0')
  " 2>/dev/null)
      
      if [ "$HAS_VISIT" = "1" ]; then
        echo ""
        echo "✅ 有到店人数大于0的记录"
      else
        echo ""
        echo "⚠️  所有记录的到店人数都是0,可能存在问题"
      fi
    else
      echo "❌ 接口返回错误"
      echo "$RESPONSE_BODY" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE_BODY"
    fi
  else
    echo "❌ HTTP请求失败"
    echo "$RESPONSE_BODY"
  fi