test_store_dashboard_deduct.sh 2.86 KB
#!/bin/bash

# 门店驾驶舱储扣分析接口测试脚本

TOKEN="Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiJhZG1pbiIsIkFjY291bnQiOiJhZG1pbiIsIlVzZXJOYW1lIjoi566h55CG5ZGYIiwiQWRtaW5pc3RyYXRvciI6MSwiVGVuYW50SWQiOiJkYiIsIlRlbmFudERiTmFtZSI6ImxxZXJwX2RldiIsImlhdCI6MTc2ODk3Njc3NiwibmJmIjoxNzY4OTc2Nzc2LCJleHAiOjE3NjkwMzA3NzYsImlzcyI6Inlpbm1haXNvZnQiLCJhdWQiOiJ5aW5tYWlzb2Z0In0.ycDGPZI-V_ZLmgbZFx9faS4wFrCMPpsD2fLh_FtVYq4"

echo "=== 门店驾驶舱储扣分析接口测试 ==="
echo ""

# 测试门店1:绿纤南湖店(有储扣数据)
STORE_ID="1649328471923847193"
MONTH="202601"

echo "测试门店ID: $STORE_ID"
echo "统计月份: $MONTH"
echo ""

echo "调用接口..."
RESPONSE=$(curl -s -X POST "http://localhost:2011/api/Extend/LqStoreDashboard/GetStatistics" \
  -H "Authorization: $TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"storeId\": \"$STORE_ID\", \"statisticsMonth\": \"$MONTH\"}")

echo "响应结果:"
echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE"

echo ""
echo "=== 数据验证 ==="
echo ""

# 提取储扣相关数据
DEDUCT_AMOUNT=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductAmount', 0))" 2>/dev/null || echo "0")
DEDUCT_COUNT=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductCount', 0))" 2>/dev/null || echo "0")
DEDUCT_DETAIL_COUNT=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductDetailCount', 0))" 2>/dev/null || echo "0")
DEDUCT_PENETRATION=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductPenetrationRate', 0))" 2>/dev/null || echo "0")
DEDUCT_RATIO=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductAmountRatio', 0))" 2>/dev/null || echo "0")
AVG_DEDUCT=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('AvgDeductAmount', 0))" 2>/dev/null || echo "0")
DEDUCT_MEMBER=$(echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data', {}).get('DeductMemberCount', 0))" 2>/dev/null || echo "0")

echo "储扣总金额: $DEDUCT_AMOUNT"
echo "储扣次数(开单数): $DEDUCT_COUNT"
echo "储扣明细次数: $DEDUCT_DETAIL_COUNT"
echo "储扣渗透率: $DEDUCT_PENETRATION%"
echo "储扣金额占比: $DEDUCT_RATIO%"
echo "平均储扣金额: $AVG_DEDUCT"
echo "储扣会员数: $DEDUCT_MEMBER"

echo ""
echo "=== 预期数据(从数据库查询) ==="
echo "预期储扣金额: 24779.73"
echo "预期储扣次数: 26"
echo "预期储扣明细次数: 30"
echo "预期储扣会员数: 19"
echo "预期储扣渗透率: 28.89% (26/90)"
echo "预期储扣金额占比: 22.08% (24779.73/112205.48)"
echo "预期平均储扣金额: 953.07 (24779.73/26)"