test_store_total_performance_statistics.sh
3.45 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
#!/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 "=== 测试完成 ==="