主要修复: 1. 添加 MetaObjectHandler 自动填充时间字段 2. 启用 @EnableTransactionManagement 显式事务管理 3. 使用 LambdaUpdateWrapper 强制更新订单状态 4. 完善 MyBatis Plus 配置和字段更新策略 5. 添加详细的调试日志配置 6. 前端集成 vconsole 调试工具 关键修改文件: - SpcCloudApplication.java: 添加 @EnableTransactionManagement - FundService.java: 使用 LambdaUpdateWrapper 显式更新 - MyBatisPlusMetaObjectHandler.java: 自动填充时间字段 - application-dev.yml: 完善配置和日志 - monisuo-admin: 添加 vconsole 调试工具
195 lines
5.1 KiB
Bash
Executable File
195 lines
5.1 KiB
Bash
Executable File
#!/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 "=========================================="
|