test-kjb-removal-apis.sh
5.88 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#!/bin/bash
# 测试废弃 kjb 后修改的接口是否返回正确
# 使用方式: ./test-kjb-removal-apis.sh [BASE_URL],默认 http://localhost:2011
set -e
BASE_URL="${1:-http://localhost:2011}"
echo "=== 使用 API 地址: $BASE_URL ==="
# 1. 登录获取 token
echo ""
echo ">>> 1. 登录获取 token..."
LOGIN_RESP=$(curl -s -X POST "$BASE_URL/api/oauth/Login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "account=admin&password=e10adc3949ba59abbe56e057f20f883e")
TOKEN=$(echo "$LOGIN_RESP" | grep -o '"token":"[^"]*"' | sed 's/"token":"//;s/"$//')
if [ -z "$TOKEN" ]; then
echo "登录失败,响应: $LOGIN_RESP"
exit 1
fi
echo "登录成功,已获取 token"
# 2. LqReport - get-store-base-info(空 storeId 校验 + 可选真实门店校验)
echo ""
echo ">>> 2. POST /api/Extend/LqReport/get-store-base-info (空 storeId 校验)"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqReport/get-store-base-info" \
-H "Content-Type: application/json" \
-H "Authorization: $TOKEN" \
-d '{"storeId":"","statisticsMonth":"202601"}')
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
if [ "$HTTP_CODE" = "400" ] || echo "$BODY" | grep -q "门店ID不能为空"; then
echo " [预期] 未传 storeId 时返回 400 或提示门店ID不能为空: HTTP $HTTP_CODE"
else
echo " HTTP $HTTP_CODE (若为200且 body 含 code 非200 也为参数校验行为)"
echo "$BODY" | head -c 400
echo ""
fi
# 使用真实门店ID验证归属来自 lq_md_target(如 绿纤龙湖店)
if [ -n "${STORE_ID:-}" ]; then
echo ">>> 2b. get-store-base-info (真实 storeId=$STORE_ID)"
curl -s -X POST "$BASE_URL/api/Extend/LqReport/get-store-base-info" \
-H "Content-Type: application/json" -H "Authorization: $TOKEN" \
-d "{\"storeId\":\"$STORE_ID\",\"statisticsMonth\":\"202601\"}" | head -c 600
echo ""
fi
# 3. LqReport get-store-data-analysis(同上,验证接口可调通)
echo ""
echo ">>> 3. POST /api/Extend/LqReport/get-store-data-analysis"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqReport/get-store-data-analysis" \
-H "Content-Type: application/json" \
-H "Authorization: $TOKEN" \
-d '{"storeId":"","statisticsMonth":"202601"}')
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
if [ "$HTTP_CODE" = "400" ] || echo "$BODY" | grep -q "门店ID不能为空"; then
echo " [预期] 未传 storeId 时返回 400 或提示门店ID不能为空: HTTP $HTTP_CODE"
else
echo " HTTP $HTTP_CODE"
echo "$BODY" | head -c 500
echo ""
fi
# 4. LqReport get-store-comparison-analysis
echo ""
echo ">>> 4. POST /api/Extend/LqReport/get-store-comparison-analysis"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqReport/get-store-comparison-analysis" \
-H "Content-Type: application/json" \
-H "Authorization: $TOKEN" \
-d '{"storeId":"","statisticsMonth":"202601"}')
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
if [ "$HTTP_CODE" = "400" ] || echo "$BODY" | grep -q "门店ID不能为空"; then
echo " [预期] 未传 storeId 时返回 400 或提示门店ID不能为空: HTTP $HTTP_CODE"
else
echo " HTTP $HTTP_CODE"
echo "$BODY" | head -c 500
echo ""
fi
# 5. LqTechGeneralManagerSalary - GET tech-general-manager
echo ""
echo ">>> 5. GET /api/Extend/LqTechGeneralManagerSalary/tech-general-manager (2026年1月)"
RESP=$(curl -s -w "\n%{http_code}" -X GET "$BASE_URL/api/Extend/LqTechGeneralManagerSalary/tech-general-manager?Year=2026&Month=1¤tPage=1&pageSize=10" \
-H "Authorization: $TOKEN")
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
echo " HTTP $HTTP_CODE"
echo "$BODY" | head -c 800
echo ""
# 6. LqTechGeneralManagerSalary - POST calculate/tech-general-manager(仅触发计算,不校验结果)
echo ""
echo ">>> 6. POST /api/Extend/LqTechGeneralManagerSalary/calculate/tech-general-manager (year=2026, month=1)"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqTechGeneralManagerSalary/calculate/tech-general-manager?year=2026&month=1" \
-H "Authorization: $TOKEN")
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
echo " HTTP $HTTP_CODE"
echo "$BODY" | head -c 400
echo ""
# 7. LqShareStatisticsTechDept - generate
echo ""
echo ">>> 7. POST /api/Extend/LqShareStatisticsTechDept/generate (statisticsMonth=202601)"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqShareStatisticsTechDept/generate" \
-H "Content-Type: application/json" \
-H "Authorization: $TOKEN" \
-d '{"statisticsMonth":"202601"}')
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
echo " HTTP $HTTP_CODE"
echo "$BODY"
echo ""
# 8. LqZjlMdsmxsz - GET ManagedStores/{userid}(科技部总经理 userid 需从系统获取,这里用占位验证 404/200)
echo ""
echo ">>> 8. GET /api/Extend/LqZjlMdsmxsz/ManagedStores/{userid} (使用占位 userid 验证路由与逻辑)"
RESP=$(curl -s -w "\n%{http_code}" -X GET "$BASE_URL/api/Extend/LqZjlMdsmxsz/ManagedStores/000000000000000001" \
-H "Authorization: $TOKEN")
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
echo " HTTP $HTTP_CODE"
echo "$BODY" | head -c 500
echo ""
# 9. LqMdTarget GetManagedStores(未改 kjb 逻辑,但可顺带验证科技部按 lq_md_target 返回)
echo ""
echo ">>> 9. POST /api/Extend/LqMdTarget/GetManagedStores (科技部+月份 202601,需有效 DepartmentId)"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/Extend/LqMdTarget/GetManagedStores" \
-H "Content-Type: application/json" \
-H "Authorization: $TOKEN" \
-d '{"month":"202601","organizationType":"科技部","departmentId":""}')
HTTP_CODE=$(echo "$RESP" | tail -n1)
BODY=$(echo "$RESP" | sed '$d')
echo " HTTP $HTTP_CODE"
if echo "$BODY" | grep -q "部门ID不能为空"; then
echo " [预期] departmentId 为空时返回错误提示"
else
echo "$BODY" | head -c 500
fi
echo ""
echo "=== 接口测试脚本执行完毕 ==="