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