d8035736
“wangming”
Refactor project ...
|
1
2
3
4
5
6
7
8
9
10
11
|
#!/bin/bash
# 测试修改消耗单加班系数接口
# 接口地址: PUT /api/Extend/LqXhHyhk/{id}/overtime-coefficient
echo "=========================================="
echo "测试修改消耗单加班系数接口"
echo "=========================================="
# 获取token
echo "1. 获取登录token..."
|
8daf47d0
“wangming”
修改访问地址
|
12
|
TOKEN=$(curl -s -X POST "http://localhost:2015/api/oauth/Login" \
|
d8035736
“wangming”
Refactor project ...
|
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
-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获取成功"
echo ""
# 获取一个有效的消耗单记录ID
echo "2. 获取消耗单记录ID..."
|
8daf47d0
“wangming”
修改访问地址
|
27
|
CONSUME_ID=$(curl -s -X GET "http://localhost:2015/api/Extend/LqXhHyhk?currentPage=1&pageSize=1" \
|
d8035736
“wangming”
Refactor project ...
|
28
29
30
31
32
33
34
35
36
37
38
39
40
|
-H "Authorization: $TOKEN" | \
python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('list', [{}])[0].get('id', ''))" 2>/dev/null)
if [ -z "$CONSUME_ID" ]; then
echo "❌ 获取消耗单记录ID失败"
exit 1
fi
echo "✅ 消耗单记录ID: $CONSUME_ID"
echo ""
# 先查询当前记录信息
echo "3. 查询当前消耗单信息..."
|
8daf47d0
“wangming”
修改访问地址
|
41
|
CURRENT_INFO=$(curl -s -X GET "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID" \
|
d8035736
“wangming”
Refactor project ...
|
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
-H "Authorization: $TOKEN")
echo "当前消耗单信息:"
echo "$CURRENT_INFO" | python3 -m json.tool 2>/dev/null || echo "$CURRENT_INFO"
echo ""
# 提取当前加班系数
CURRENT_COEFFICIENT=$(echo "$CURRENT_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('overtimeCoefficient', 0))" 2>/dev/null)
CURRENT_ORIGINAL_SGFY=$(echo "$CURRENT_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('originalSgfy', 0))" 2>/dev/null)
CURRENT_SGFY=$(echo "$CURRENT_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('sgfy', 0))" 2>/dev/null)
echo "当前加班系数: $CURRENT_COEFFICIENT"
echo "当前原始手工费: $CURRENT_ORIGINAL_SGFY"
echo "当前最终手工费: $CURRENT_SGFY"
echo ""
# 测试1: 修改加班系数为0.5
echo "4. 测试1: 修改加班系数为0.5..."
|
8daf47d0
“wangming”
修改访问地址
|
60
|
RESPONSE1=$(curl -s -X PUT "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID/overtime-coefficient" \
|
d8035736
“wangming”
Refactor project ...
|
61
62
63
64
65
66
67
68
69
70
71
|
-H "Authorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"overtimeCoefficient\": 0.5
}")
echo "$RESPONSE1" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE1"
echo ""
# 验证修改结果
echo "5. 验证修改结果..."
|
8daf47d0
“wangming”
修改访问地址
|
72
|
UPDATED_INFO=$(curl -s -X GET "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID" \
|
d8035736
“wangming”
Refactor project ...
|
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
|
-H "Authorization: $TOKEN")
NEW_COEFFICIENT=$(echo "$UPDATED_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('overtimeCoefficient', 0))" 2>/dev/null)
NEW_ORIGINAL_SGFY=$(echo "$UPDATED_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('originalSgfy', 0))" 2>/dev/null)
NEW_OVERTIME_SGFY=$(echo "$UPDATED_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('overtimeSgfy', 0))" 2>/dev/null)
NEW_SGFY=$(echo "$UPDATED_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('sgfy', 0))" 2>/dev/null)
echo "修改后加班系数: $NEW_COEFFICIENT"
echo "修改后原始手工费: $NEW_ORIGINAL_SGFY"
echo "修改后加班手工费: $NEW_OVERTIME_SGFY"
echo "修改后最终手工费: $NEW_SGFY"
echo ""
# 验证计算是否正确
if [ "$NEW_COEFFICIENT" = "0.5" ]; then
echo "✅ 加班系数修改成功"
else
echo "❌ 加班系数修改失败,期望: 0.5, 实际: $NEW_COEFFICIENT"
fi
# 计算期望的加班手工费
EXPECTED_OVERTIME_SGFY=$(python3 -c "print($NEW_ORIGINAL_SGFY * 0.5)" 2>/dev/null)
EXPECTED_SGFY=$(python3 -c "print($NEW_ORIGINAL_SGFY + $EXPECTED_OVERTIME_SGFY)" 2>/dev/null)
echo "期望的加班手工费: $EXPECTED_OVERTIME_SGFY"
echo "期望的最终手工费: $EXPECTED_SGFY"
echo ""
# 测试2: 修改加班系数为1.0
echo "6. 测试2: 修改加班系数为1.0..."
|
8daf47d0
“wangming”
修改访问地址
|
103
|
RESPONSE2=$(curl -s -X PUT "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID/overtime-coefficient" \
|
d8035736
“wangming”
Refactor project ...
|
104
105
106
107
108
109
110
111
112
113
114
|
-H "Authorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"overtimeCoefficient\": 1.0
}")
echo "$RESPONSE2" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE2"
echo ""
# 测试3: 修改加班系数为0(非加班单)
echo "7. 测试3: 修改加班系数为0(非加班单)..."
|
8daf47d0
“wangming”
修改访问地址
|
115
|
RESPONSE3=$(curl -s -X PUT "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID/overtime-coefficient" \
|
d8035736
“wangming”
Refactor project ...
|
116
117
118
119
120
121
122
123
124
125
126
|
-H "Authorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"overtimeCoefficient\": 0
}")
echo "$RESPONSE3" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE3"
echo ""
# 验证修改为0后的结果
echo "8. 验证修改为0后的结果..."
|
8daf47d0
“wangming”
修改访问地址
|
127
|
FINAL_INFO=$(curl -s -X GET "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID" \
|
d8035736
“wangming”
Refactor project ...
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
-H "Authorization: $TOKEN")
FINAL_COEFFICIENT=$(echo "$FINAL_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('overtimeCoefficient', 0))" 2>/dev/null)
FINAL_OVERTIME_SGFY=$(echo "$FINAL_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('overtimeSgfy', 0))" 2>/dev/null)
FINAL_SGFY=$(echo "$FINAL_INFO" | python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('sgfy', 0))" 2>/dev/null)
echo "最终加班系数: $FINAL_COEFFICIENT"
echo "最终加班手工费: $FINAL_OVERTIME_SGFY"
echo "最终最终手工费: $FINAL_SGFY"
echo ""
if [ "$FINAL_COEFFICIENT" = "0" ] && [ "$FINAL_OVERTIME_SGFY" = "0" ]; then
echo "✅ 修改为0(非加班单)成功"
else
echo "❌ 修改为0(非加班单)失败"
fi
# 测试4: 测试不存在的ID
echo "9. 测试4: 测试不存在的ID..."
|
8daf47d0
“wangming”
修改访问地址
|
147
|
RESPONSE4=$(curl -s -X PUT "http://localhost:2015/api/Extend/LqXhHyhk/999999999999999999/overtime-coefficient" \
|
d8035736
“wangming”
Refactor project ...
|
148
149
150
151
152
153
154
155
156
157
158
|
-H "Authorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"overtimeCoefficient\": 0.5
}")
echo "$RESPONSE4" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE4"
echo ""
# 测试5: 测试无效参数(负数)
echo "10. 测试5: 测试无效参数(负数)..."
|
8daf47d0
“wangming”
修改访问地址
|
159
|
RESPONSE5=$(curl -s -X PUT "http://localhost:2015/api/Extend/LqXhHyhk/$CONSUME_ID/overtime-coefficient" \
|
d8035736
“wangming”
Refactor project ...
|
160
161
162
163
164
165
166
167
168
169
170
171
|
-H "Authorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"overtimeCoefficient\": -0.5
}")
echo "$RESPONSE5" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE5"
echo ""
echo "=========================================="
echo "测试完成"
echo "=========================================="
|