Blame view

test-get-tech-teacher-daily-statistics.sh 2.32 KB
4b74fde5   “wangming”   Refactor overtime...
1
2
  #!/bin/bash
  # GetTechTeacherDailyStatistics 接口测试脚本
8daf47d0   “wangming”   修改访问地址
3
  # 使用方式: ./test-get-tech-teacher-daily-statistics.sh [BASE_URL],默认 http://localhost:2015
4b74fde5   “wangming”   Refactor overtime...
4
5
  # 前置:API 需已启动且已重新编译(含 RefundAchievement 的 DTO 变更)
  
8daf47d0   “wangming”   修改访问地址
6
  BASE_URL="${1:-http://localhost:2015}"
4b74fde5   “wangming”   Refactor overtime...
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
  
  echo "=== 1. 获取 Token ==="
  TOKEN=$(curl -s -X POST "$BASE_URL/api/oauth/Login" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('data',{}).get('token','') if d.get('code')==200 else '')" 2>/dev/null)
  if [ -z "$TOKEN" ]; then
    echo "获取 Token 失败,请检查 API 是否启动"
    exit 1
  fi
  echo "Token 获取成功"
  
  echo ""
  echo "=== 2. 调用 GetTechTeacherDailyStatistics 接口 ==="
  echo "时间范围: 2026-03-01 ~ 2026-03-16"
  RESP=$(curl -s -X POST "$BASE_URL/api/Extend/LqDailyReport/get-tech-teacher-daily-statistics" \
    -H "Authorization: $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"startTime":"2026-03-01T00:00:00","endTime":"2026-03-16T23:59:59"}')
  echo "$RESP" | python3 -m json.tool 2>/dev/null || echo "$RESP"
  
  CODE=$(echo "$RESP" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('code',-1))" 2>/dev/null)
  if [ "$CODE" != "200" ]; then
    echo ""
    echo "接口返回非 200,若为 500 且提示 set_RefundAchievement,请重启 API 服务后重试"
    exit 1
  fi
  
  echo ""
  echo "=== 3. 数据库验证 SQL(MCP MySQL 或手动执行)==="
  echo "耗卡业绩汇总(lq_xh_kjbsyj + lq_xh_hyhk):"
  echo "SELECT consume.kjbls as TeacherId, SUM(consume.kjblsyj) as ConsumeAchievement"
  echo "FROM lq_xh_kjbsyj consume"
  echo "INNER JOIN lq_xh_hyhk hyhk ON consume.glkdbh = hyhk.F_Id"
  echo "WHERE consume.F_IsEffective = 1 AND hyhk.F_IsEffective = 1"
  echo "  AND DATE(hyhk.hksj) >= '2026-03-01' AND DATE(hyhk.hksj) <= '2026-03-16'"
  echo "GROUP BY consume.kjbls;"
  echo ""
  echo "退卡业绩汇总(lq_hytk_kjbsyj + lq_hytk_hytk):"
  echo "SELECT refund.kjbls as TeacherId, SUM(refund.kjblsyj) as RefundAchievement"
  echo "FROM lq_hytk_kjbsyj refund"
  echo "INNER JOIN lq_hytk_hytk hytk ON refund.gltkbh = hytk.F_Id"
  echo "WHERE refund.F_IsEffective = 1 AND hytk.F_IsEffective = 1"
  echo "  AND DATE(hytk.tksj) >= '2026-03-01' AND DATE(hytk.tksj) <= '2026-03-16'"
  echo "GROUP BY refund.kjbls;"