Files
monisuo/diagnostic_report.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

94 lines
2.9 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
# 完整的审批功能测试报告生成器
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 "=========================================="