test_store_dashboard_fixes.sh
3.91 KB
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
95
#!/bin/bash
# 测试门店驾驶舱修复的接口
# 1. 健康师业绩排行(净业绩)
# 2. 门店对比分析(类型转换错误修复)
# 3. 拓客转化漏斗
BASE_URL="http://localhost:2011"
STORE_ID="1649328471923847169" # 绿纤紫荆店
STATISTICS_MONTH="202512" # 2025年12月
echo "=========================================="
echo "测试门店驾驶舱修复的接口"
echo "=========================================="
echo ""
# 1. 获取Token
echo "1. 获取Token..."
TOKEN_BODY=$(curl -s -X POST "${BASE_URL}/api/oauth/Login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "account=admin&password=e10adc3949ba59abbe56e057f20f883e")
TOKEN=$(echo "$TOKEN_BODY" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data['data']['token'])" 2>/dev/null | sed 's/Bearer //')
if [ -z "$TOKEN" ]; then
echo "❌ 无法从响应中提取Token"
echo "响应内容: $TOKEN_BODY"
exit 1
fi
echo "✅ Token获取成功"
echo ""
# 2. 测试健康师业绩排行(净业绩)
echo "2. 测试健康师业绩排行(净业绩)..."
HEALTH_COACH_BODY=$(curl -s -X POST "${BASE_URL}/api/Extend/LqReport/get-store-health-coach-analysis" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d "{\"storeId\":\"${STORE_ID}\",\"statisticsMonth\":\"${STATISTICS_MONTH}\"}")
HEALTH_COACH_CODE=$(echo "$HEALTH_COACH_BODY" | jq -r '.code' 2>/dev/null)
if [ "$HEALTH_COACH_CODE" != "200" ]; then
echo "❌ 健康师业绩排行接口返回错误"
echo "$HEALTH_COACH_BODY" | jq '.' 2>/dev/null || echo "$HEALTH_COACH_BODY"
exit 1
fi
HEALTH_COACH_COUNT=$(echo "$HEALTH_COACH_BODY" | jq '.data | length' 2>/dev/null)
echo "✅ 健康师业绩排行接口成功,返回 ${HEALTH_COACH_COUNT} 条记录"
if [ "$HEALTH_COACH_COUNT" -gt 0 ]; then
echo "前3条记录:"
echo "$HEALTH_COACH_BODY" | jq -r '.data[0:3] | .[] | " - \(.HealthCoachName): 开单=\(.BillingPerformance), 消耗=\(.ConsumePerformance), 净业绩=\(.TotalPerformance)"' 2>/dev/null
fi
echo ""
# 3. 测试门店对比分析
echo "3. 测试门店对比分析(类型转换错误修复)..."
COMPARISON_BODY=$(curl -s -X POST "${BASE_URL}/api/Extend/LqReport/get-store-comparison-analysis" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d "{\"storeId\":\"${STORE_ID}\",\"statisticsMonth\":\"${STATISTICS_MONTH}\"}")
COMPARISON_CODE=$(echo "$COMPARISON_BODY" | jq -r '.code' 2>/dev/null)
if [ "$COMPARISON_CODE" != "200" ]; then
echo "❌ 门店对比分析接口返回错误"
echo "$COMPARISON_BODY" | jq '.' 2>/dev/null || echo "$COMPARISON_BODY"
exit 1
fi
echo "✅ 门店对比分析接口成功"
echo "$COMPARISON_BODY" | jq -r '.data | " 业绩排名: \(.PerformanceRanking)/\(.TotalStoreCount)\n 同类型门店平均业绩: \(.AvgPerformanceSameType) (门店数: \(.SameTypeStoreCount))\n 同组织门店平均业绩: \(.AvgPerformanceSameOrg) (门店数: \(.SameOrgStoreCount))"' 2>/dev/null
echo ""
# 4. 测试拓客转化漏斗
echo "4. 测试拓客转化漏斗..."
FUNNEL_BODY=$(curl -s -X POST "${BASE_URL}/api/Extend/LqStoreDashboard/GetMemberConversionFunnel" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d "{\"storeId\":\"${STORE_ID}\",\"statisticsMonth\":\"${STATISTICS_MONTH}\"}")
FUNNEL_CODE=$(echo "$FUNNEL_BODY" | jq -r '.code' 2>/dev/null)
if [ "$FUNNEL_CODE" != "200" ]; then
echo "❌ 拓客转化漏斗接口返回错误"
echo "$FUNNEL_BODY" | jq '.' 2>/dev/null || echo "$FUNNEL_BODY"
exit 1
fi
echo "✅ 拓客转化漏斗接口成功"
echo "$FUNNEL_BODY" | jq -r '.data | " 拓客数: \(.ExpansionCount)\n 邀约数: \(.InviteCount)\n 预约数: \(.AppointmentCount)\n 耗卡数: \(.ConsumeCount)\n 开单数: \(.BillingCount)"' 2>/dev/null
echo ""
echo "=========================================="
echo "✅ 所有接口测试通过!"
echo "=========================================="