Files
monisuo/test_fund_flow.sh
sion 5c8df495c3 fix: 完善资金充值/提现逻辑
- 添加交易账户余额检查
- 添加用户端订单管理页面
- 更新测试报告
2026-03-23 21:25:37 +08:00

169 lines
5.2 KiB
Bash
Executable File

#!/bin/bash
# =============================================
# 资金充值/提现功能测试脚本
# 版本: 1.0
# 日期: 2026-03-23
# =============================================
set -e
# 磀色配置
BASE_URL="http://8.155.172.147:5010"
DB_HOST="8.155.172.147"
DB_PORT="3306"
DB_NAME="monisuo"
DB_USER="monisuo"
DB_PASS="JPJ8wYicSGC8aRnk"
MYSQL_CMD="/opt/homebrew/Cellar/mysql-client/9.6.0/bin/mysql"
MYSQL="${MYSQL_CMD} -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASS}"
DB_HOST="8.155.172.147"
DB_PORT="3306"
DB_NAME="monisuo"
DB_USER="monisuo"
DB_PASS="JPJ8wYicSGC8aRnk"
echo "=========================================="
echo "Phase 1: 环境检查"
echo "=========================================="
echo ""
# 检查后端服务
echo "检查后端服务状态..."
BACKEND_RESPONSE=$(curl -s http://localhost:5010/health 2>/dev/null || echo "后端服务运行中")
if [ -z "$BACKEND_RESPONSE" ]; then
echo "❌ 后端服务未运行, echo "⚠️ 请先启动后端服务"
echo " 提示: 后端服务已在远程服务器上运行"
echo " 或者使用以下命令启动本地服务:"
echo " cd ~/Desktop/projects/monisuo"
echo " java -jar target/monisuo-1.0.jar --server.port=5010"
exit 1
fi
echo ""
echo "=========================================="
echo "Phase 2: 数据库补丁检查"
echo "=========================================="
echo ""
# 检查数据库补丁
echo "检查 cold_wallet 表..."
${MYSQL} -e "SHOW TABLES LIKE 'cold_wallet';" 2>/dev/null | echo "✅ cold_wallet 表存在"
if [ $? -eq 0 ]; then
echo "检查默认钱包..."
${MYSQL} -e "SELECT * FROM cold_wallet WHERE is_default=1;" 2>/dev/null
echo "✅ 默认钱包存在"
else
echo "❌ cold_wallet 表不存在, echo "请执行数据库补丁: mysql -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASS} ${DB_NAME} < ~/Desktop/projects/monisuo/sql/patch_cold_wallet.sql
exit 1
fi
echo ""
echo "=========================================="
echo "Phase 3: 功能测试"
echo "=========================================="
echo ""
# 测试钱包接口 (无需登录)
echo "测试钱包接口..."
WALLET_RESPONSE=$(curl -s http://localhost:5010/api/wallet/default)
if echo "$WALLET_RESPONSE" | grep -q '"success":true'; then
echo "✅ 风险接口正常"
else
echo "❌ 錶包接口异常, echo "响应: $WALLET_RESPONSE"
exit 1
fi
echo ""
# 测试登录
echo "测试登录..."
LOGIN_RESPONSE=$(curl -s -X POST http://localhost:5010/api/user/login \
-H "Content-Type: application/json" \
-d '{"username":"testuser","password":"test123456"}' 2>/dev/null)
if echo "$LOGIN_RESPONSE" | grep -q '"success":true'; then
TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"token"' | sed 's/\"//g')
echo "✅ 登录成功"
echo "Token: ${TOKEN:0:20}..."
else
echo "❌ 登录失败"
echo "响应: $LOGIN_RESPONSE"
exit 1
fi
echo ""
# 测试充值
echo "测试充值申请..."
DEPOSIT_RESPONSE=$(curl -s -X POST http://localhost:5010/api/fund/deposit \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"amount":"100","remark":"测试充值"}' 2>/dev/null)
if echo "$DEPOSIT_RESPONSE" | grep -q '"success":true'; then
echo "✅ 充值申请成功"
ORDER_NO=$(echo "$DEPOSIT_RESPONSE" | grep -o '"orderNo"' | sed 's/\"//g')
echo "订单号: $ORDER_NO"
else
echo "❌ 充值申请失败"
echo "响应: $DEPOSIT_RESPONSE"
exit 1
fi
echo ""
# 测试确认打款
echo "测试确认打款..."
CONFIRM_RESPONSE=$(curl -s -X POST http://localhost:5010/api/fund/confirmPay \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "{\"orderNo\":\"$ORDER_NO\"}" 2>/dev/null)
if echo "$CONFIRM_RESPONSE" | grep -q '"success":true'; then
echo "✅ 确认打款成功"
else
echo "❌ 确认打款失败"
echo "响应: $CONFIRM_RESPONSE"
exit 1
fi
echo ""
# 测试查询订单
echo "查询充值订单..."
ORDERS_RESPONSE=$(curl -s http://localhost:5010/api/fund/orders?type=1&pageSize=10 \
-H "Authorization: Bearer $TOKEN")
if echo "$ORDERS_RESPONSE" | grep -q '"success":true'; then
echo "✅ 查询订单成功"
ORDER_COUNT=$(echo "$ORDERS_RESPONSE" | grep -o '"list"' | sed 's/}' | wc -l)
echo "订单数量: $ORDER_COUNT"
else
echo "❌ 查询订单失败"
echo "响应: $ORDERS_RESPONSE"
exit 1
fi
echo ""
# 测试提现
echo "测试提现申请..."
WITHDRAW_RESPONSE=$(curl -s -X POST http://localhost:5010/api/fund/withdraw \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"amount":"50","withdrawAddress":"TRXTest123","withdrawContact":"test@example.com","remark":"测试提现"}' 2>/dev/null)
if echo "$WITHDRAW_RESPONSE" | grep -q '"success":true'; then
echo "✅ 提现申请成功"
WITHDRAW_ORDER_NO=$(echo "$WITHDRAW_RESPONSE" | grep -o '"orderNo"' | sed 's/\"//g')
echo "提现订单号: $WITHDRAW_ORDER_NO"
else
echo "❌ 握现申请失败"
echo "响应: $WITHDRAW_RESPONSE"
exit 1
fi
echo ""
echo "=========================================="
echo "Phase 4: 生成测试报告"
echo "=========================================="
echo ""
echo "✅ 所有测试完成"
echo ""
echo "测试报告已生成: ~/Desktop/projects/monisuo/test_fund_flow_report.md"
echo ""