Files
monisuo/test_new_approval.sh

195 lines
5.1 KiB
Bash
Raw Normal View History

#!/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 "=========================================="