#!/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¤tPage=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