Files
monisuo/test_new_approval.sh
sion 4f17e7ea8a fix: 修复订单审批状态不更新的问题
主要修复:
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 调试工具
2026-03-24 09:41:23 +08:00

195 lines
5.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 "=========================================="