195 lines
5.1 KiB
Bash
195 lines
5.1 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# 创建新订单并测试完整审批流程
|
|||
|
|
|
|||
|
|
BASE_URL="http://localhost:5010"
|
|||
|
|
USER_TOKEN=""
|
|||
|
|
ADMIN_TOKEN=""
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "创建新订单并测试审批流程"
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 1. 用户登录
|
|||
|
|
echo "[步骤1] 用户登录"
|
|||
|
|
USER_LOGIN=$(curl -s -X POST "$BASE_URL/api/user/login" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"username": "abcd",
|
|||
|
|
"password": "abcd1234"
|
|||
|
|
}')
|
|||
|
|
|
|||
|
|
echo "用户登录响应:"
|
|||
|
|
echo "$USER_LOGIN" | jq '.'
|
|||
|
|
|
|||
|
|
USER_TOKEN=$(echo "$USER_LOGIN" | jq -r '.data.token // empty')
|
|||
|
|
|
|||
|
|
if [ -z "$USER_TOKEN" ]; then
|
|||
|
|
echo "✗ 用户登录失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "✓ 用户登录成功"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 2. 创建充值订单
|
|||
|
|
echo "[步骤2] 创建充值订单"
|
|||
|
|
DEPOSIT_RESPONSE=$(curl -s -X POST "$BASE_URL/api/fund/deposit" \
|
|||
|
|
-H "Authorization: Bearer $USER_TOKEN" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"amount": 100,
|
|||
|
|
"remark": "测试充值"
|
|||
|
|
}')
|
|||
|
|
|
|||
|
|
echo "充值订单响应:"
|
|||
|
|
echo "$DEPOSIT_RESPONSE" | jq '.'
|
|||
|
|
|
|||
|
|
ORDER_NO=$(echo "$DEPOSIT_RESPONSE" | jq -r '.data.orderNo // empty')
|
|||
|
|
|
|||
|
|
if [ -z "$ORDER_NO" ]; then
|
|||
|
|
echo "✗ 创建充值订单失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "✓ 充值订单创建成功: $ORDER_NO"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 3. 用户确认打款
|
|||
|
|
echo "[步骤3] 用户确认打款"
|
|||
|
|
CONFIRM_RESPONSE=$(curl -s -X POST "$BASE_URL/api/fund/confirmPay" \
|
|||
|
|
-H "Authorization: Bearer $USER_TOKEN" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d "{
|
|||
|
|
\"orderNo\": \"$ORDER_NO\"
|
|||
|
|
}")
|
|||
|
|
|
|||
|
|
echo "确认打款响应:"
|
|||
|
|
echo "$CONFIRM_RESPONSE" | jq '.'
|
|||
|
|
|
|||
|
|
echo "✓ 已确认打款"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 4. 管理员登录
|
|||
|
|
echo "[步骤4] 管理员登录"
|
|||
|
|
ADMIN_LOGIN=$(curl -s -X POST "$BASE_URL/admin/login" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"username": "admin",
|
|||
|
|
"password": "admin123"
|
|||
|
|
}')
|
|||
|
|
|
|||
|
|
ADMIN_TOKEN=$(echo "$ADMIN_LOGIN" | jq -r '.data.token // empty')
|
|||
|
|
|
|||
|
|
if [ -z "$ADMIN_TOKEN" ]; then
|
|||
|
|
echo "✗ 管理员登录失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "✓ 管理员登录成功"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 5. 查询用户当前余额
|
|||
|
|
echo "[步骤5] 查询用户当前余额(审批前)"
|
|||
|
|
USER_DETAIL_BEFORE=$(curl -s -X GET "$BASE_URL/admin/user/detail?userId=5" \
|
|||
|
|
-H "Authorization: Bearer $ADMIN_TOKEN")
|
|||
|
|
|
|||
|
|
BEFORE_BALANCE=$(echo "$USER_DETAIL_BEFORE" | jq -r '.data.fund.balance')
|
|||
|
|
BEFORE_TOTAL_DEPOSIT=$(echo "$USER_DETAIL_BEFORE" | jq -r '.data.fund.totalDeposit')
|
|||
|
|
|
|||
|
|
echo "审批前余额: $BEFORE_BALANCE USDT"
|
|||
|
|
echo "审批前累计充值: $BEFORE_TOTAL_DEPOSIT USDT"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 6. 管理员审批订单
|
|||
|
|
echo "[步骤6] 管理员审批订单"
|
|||
|
|
echo "订单号: $ORDER_NO"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
APPROVE_RESPONSE=$(curl -s -X POST "$BASE_URL/admin/order/approve" \
|
|||
|
|
-H "Authorization: Bearer $ADMIN_TOKEN" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d "{
|
|||
|
|
\"orderNo\": \"$ORDER_NO\",
|
|||
|
|
\"status\": 2,
|
|||
|
|
\"adminRemark\": \"测试审批 - $(date '+%Y-%m-%d %H:%M:%S')\"
|
|||
|
|
}")
|
|||
|
|
|
|||
|
|
echo "审批响应:"
|
|||
|
|
echo "$APPROVE_RESPONSE" | jq '.'
|
|||
|
|
|
|||
|
|
APPROVE_SUCCESS=$(echo "$APPROVE_RESPONSE" | jq -r '.success')
|
|||
|
|
|
|||
|
|
if [ "$APPROVE_SUCCESS" = "true" ]; then
|
|||
|
|
echo "✓ 审批请求成功"
|
|||
|
|
else
|
|||
|
|
echo "✗ 审批请求失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 等待数据库更新
|
|||
|
|
echo "等待 2 秒..."
|
|||
|
|
sleep 2
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 7. 查询订单新状态
|
|||
|
|
echo "[步骤7] 查询订单新状态"
|
|||
|
|
ORDER_DETAIL=$(curl -s -X GET "$BASE_URL/admin/order/list?pageNum=1&pageSize=1" \
|
|||
|
|
-H "Authorization: Bearer $ADMIN_TOKEN")
|
|||
|
|
|
|||
|
|
UPDATED_ORDER=$(echo "$ORDER_DETAIL" | jq -r --arg orderNo "$ORDER_NO" '.data.list[] | select(.orderNo == $orderNo)')
|
|||
|
|
NEW_STATUS=$(echo "$UPDATED_ORDER" | jq -r '.status')
|
|||
|
|
|
|||
|
|
echo "订单号: $ORDER_NO"
|
|||
|
|
echo "新状态: $NEW_STATUS"
|
|||
|
|
|
|||
|
|
if [ "$NEW_STATUS" -eq 3 ]; then
|
|||
|
|
echo "✓ 订单状态正确 (3 = 已完成)"
|
|||
|
|
else
|
|||
|
|
echo "✗ 订单状态错误,期望 3,实际 $NEW_STATUS"
|
|||
|
|
fi
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 8. 查询用户新余额
|
|||
|
|
echo "[步骤8] 查询用户新余额(审批后)"
|
|||
|
|
USER_DETAIL_AFTER=$(curl -s -X GET "$BASE_URL/admin/user/detail?userId=5" \
|
|||
|
|
-H "Authorization: Bearer $ADMIN_TOKEN")
|
|||
|
|
|
|||
|
|
AFTER_BALANCE=$(echo "$USER_DETAIL_AFTER" | jq -r '.data.fund.balance')
|
|||
|
|
AFTER_TOTAL_DEPOSIT=$(echo "$USER_DETAIL_AFTER" | jq -r '.data.fund.totalDeposit')
|
|||
|
|
|
|||
|
|
echo "审批后余额: $AFTER_BALANCE USDT (变化: $(echo "$AFTER_BALANCE - $BEFORE_BALANCE" | bc) USDT)"
|
|||
|
|
echo "审批后累计充值: $AFTER_TOTAL_DEPOSIT USDT (变化: $(echo "$AFTER_TOTAL_DEPOSIT - $BEFORE_TOTAL_DEPOSIT" | bc) USDT)"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 9. 验证结果
|
|||
|
|
echo "[步骤9] 验证审批结果"
|
|||
|
|
|
|||
|
|
BALANCE_DIFF=$(echo "$AFTER_BALANCE - $BEFORE_BALANCE" | bc)
|
|||
|
|
DEPOSIT_DIFF=$(echo "$AFTER_TOTAL_DEPOSIT - $BEFORE_TOTAL_DEPOSIT" | bc)
|
|||
|
|
|
|||
|
|
if [ "$(echo "$BALANCE_DIFF == 100" | bc)" -eq 1 ]; then
|
|||
|
|
echo "✓ 余额增加正确: +100 USDT"
|
|||
|
|
else
|
|||
|
|
echo "✗ 余额增加错误: 期望 +100,实际 +$BALANCE_DIFF"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
if [ "$(echo "$DEPOSIT_DIFF == 100" | bc)" -eq 1 ]; then
|
|||
|
|
echo "✓ 累计充值增加正确: +100 USDT"
|
|||
|
|
else
|
|||
|
|
echo "✗ 累计充值增加错误: 期望 +100,实际 +$DEPOSIT_DIFF"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
if [ "$NEW_STATUS" -eq 3 ]; then
|
|||
|
|
echo "✓ 订单状态更新正确"
|
|||
|
|
else
|
|||
|
|
echo "✗ 订单状态未更新"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "测试完成"
|
|||
|
|
echo "=========================================="
|