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

2.9 KiB

🚀 快速开始 - 审批订单测试指南

一键测试(推荐)

cd ~/Desktop/projects/monisuo
./one_click_test.sh

这个脚本会自动:

  1. 编译项目
  2. 停止旧进程
  3. 启动新服务
  4. 运行完整测试
  5. 显示测试结果

📊 手动测试

1. 编译和启动

cd ~/Desktop/projects/monisuo
mvn clean package -DskipTests
java -jar target/monisuo-1.0.jar

2. 运行测试(另一个终端)

cd ~/Desktop/projects/monisuo
./diagnose_approval.sh

🔍 查看日志

实时查看日志

# 如果使用 one_click_test.sh
tail -f /tmp/monisuo_test.log

# 查看审批相关日志
grep -A 50 "审批订单开始" /tmp/monisuo_test.log

日志关键信息

==================== 审批订单开始 ====================
[AdminController] 接收到的完整参数: {...}
[FundService.approve] 步骤1: 查询订单...
[FundService.approve] 步骤2: 查询资金账户...
[FundService.approve] 步骤3: 确定最终状态: 3
[FundService.approve] 步骤4: 处理审批通过逻辑...
[FundService.approve] 步骤5: 更新订单状态...
  - 订单更新结果: 1 (1=成功, 0=失败)
[FundService.approve] 步骤6: 验证更新结果...
  - 状态验证通过 ✓

成功标志

如果看到以下信息,说明测试成功:

  1. 测试脚本输出:

    ✅✅✅ 订单状态更新成功!状态 = 3 (已完成)
    ✅✅✅ 余额增加正确!
    
  2. 控制台日志:

    - 订单更新结果: 1 (1=成功, 0=失败)
    - 账户更新结果: 1 (1=成功, 0=失败)
    - 状态验证通过 ✓
    

如果失败

检查点1: 订单更新结果

如果看到: 订单更新结果: 0 (1=成功, 0=失败)
说明: 数据库更新失败
解决: 检查数据库连接、订单ID是否正确

检查点2: 账户更新结果

如果看到: 账户更新结果: 0 (1=成功, 0=失败)
说明: 资金账户更新失败
解决: 检查用户ID、账户是否存在

检查点3: 状态验证失败

如果看到: 状态验证失败!
说明: 更新成功但立即查询状态不对
解决: 可能是事务问题或缓存问题

📞 需要帮助?

如果测试失败,请提供:

  1. 完整的控制台日志(复制粘贴)
  2. 测试脚本的输出
  3. 数据库查询结果(如果可能)

📝 测试前准备

确保:

  • 有待审批的订单(充值待确认 或 提现待审批)
  • 数据库连接正常
  • 端口 5010 未被占用

🎯 预期行为

充值订单审批

  • 审批前: status = 2 (待确认)
  • 审批后: status = 3 (已完成)
  • 资金变化: 用户余额 += 充值金额

提现订单审批

  • 审批前: status = 1 (待审批)
  • 审批后: status = 2 (已完成)
  • 资金变化: 用户冻结 -= 提现金额

开始测试: ./one_click_test.sh./diagnose_approval.sh