主要修复: 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 调试工具
94 lines
2.9 KiB
Bash
Executable File
94 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 完整的审批功能测试报告生成器
|
||
|
||
echo "=========================================="
|
||
echo "Monisuo 审批功能诊断报告"
|
||
echo "生成时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||
echo "=========================================="
|
||
echo ""
|
||
|
||
BASE_URL="http://localhost:5010"
|
||
|
||
# 1. 管理员登录
|
||
echo "[1] 管理员登录"
|
||
LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/admin/login" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"username":"admin","password":"admin123"}')
|
||
|
||
TOKEN=$(echo "$LOGIN_RESPONSE" | jq -r '.data.token')
|
||
|
||
if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then
|
||
echo "✗ 管理员登录失败"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✓ 管理员登录成功"
|
||
echo ""
|
||
|
||
# 2. 查询所有充值订单(状态=2)
|
||
echo "[2] 查询所有状态=2的充值订单"
|
||
ORDERS_RESPONSE=$(curl -s -X GET "$BASE_URL/admin/order/list?type=1&status=2&pageNum=1&pageSize=20" \
|
||
-H "Authorization: Bearer $TOKEN")
|
||
|
||
echo "$ORDERS_RESPONSE" | jq -r '.data.list[] | "订单号: \(.orderNo), 金额: \(.amount), 状态: \(.status), 审批时间: \(.approveTime // "无"), 确认时间: \(.confirmTime // "无")"'
|
||
|
||
TOTAL=$(echo "$ORDERS_RESPONSE" | jq -r '.data.total')
|
||
echo ""
|
||
echo "待确认订单总数(API返回): $TOTAL"
|
||
echo ""
|
||
|
||
# 3. 查询用户5的账户信息
|
||
echo "[3] 查询用户5的账户信息"
|
||
USER_DETAIL=$(curl -s -X GET "$BASE_URL/admin/user/detail?userId=5" \
|
||
-H "Authorization: Bearer $TOKEN")
|
||
|
||
BALANCE=$(echo "$USER_DETAIL" | jq -r '.data.fund.balance')
|
||
FROZEN=$(echo "$USER_DETAIL" | jq -r '.data.fund.frozen')
|
||
TOTAL_DEPOSIT=$(echo "$USER_DETAIL" | jq -r '.data.fund.totalDeposit')
|
||
TOTAL_WITHDRAW=$(echo "$USER_DETAIL" | jq -r '.data.fund.totalWithdraw')
|
||
|
||
echo "余额: $BALANCE USDT"
|
||
echo "冻结: $FROZEN USDT"
|
||
echo "累计充值: $TOTAL_DEPOSIT USDT"
|
||
echo "累计提现: $TOTAL_WITHDRAW USDT"
|
||
echo ""
|
||
|
||
# 4. 分析问题
|
||
echo "[4] 问题分析"
|
||
echo "--------------------"
|
||
|
||
# 获取所有状态=2的订单
|
||
ORDER_COUNT=$(echo "$ORDERS_RESPONSE" | jq -r '.data.list | length')
|
||
|
||
if [ "$ORDER_COUNT" -gt 0 ]; then
|
||
echo "⚠️ 发现 $ORDER_COUNT 个状态=2的充值订单,但部分可能已被审批"
|
||
echo ""
|
||
|
||
# 检查每个订单
|
||
echo "$ORDERS_RESPONSE" | jq -r '.data.list[] | select(.approveTime != null) | .orderNo' | while read ORDER_NO; do
|
||
echo " 订单 $ORDER_NO - 已审批但状态仍为2"
|
||
done
|
||
|
||
echo ""
|
||
echo "【诊断结论】"
|
||
echo "1. 订单状态没有正确更新到数据库"
|
||
echo "2. 可能原因:"
|
||
echo " - MyBatis-Plus updateById 方法执行失败"
|
||
echo " - 事务回滚"
|
||
echo " - 数据库连接问题"
|
||
echo ""
|
||
echo "【建议修复】"
|
||
echo "1. 检查数据库连接和权限"
|
||
echo "2. 检查 MyBatis-Plus 配置"
|
||
echo "3. 查看应用日志,确认 updateById 是否执行成功"
|
||
echo "4. 添加数据库字段更新日志"
|
||
else
|
||
echo "✓ 没有发现异常订单"
|
||
fi
|
||
|
||
echo ""
|
||
echo "=========================================="
|
||
echo "诊断完成"
|
||
echo "=========================================="
|