主要修复: 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 调试工具
2.8 KiB
StackOverflowError 修复清单
修复日期: 2026-03-24 00:33 状态: ✅ 已完成
📝 修改的文件列表
实体类(Entity)
-
✅
src/main/java/com/it/rattan/monisuo/entity/User.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/AccountFund.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/AccountTrade.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/OrderFund.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/Coin.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/AccountFlow.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/Admin.java- @Data → @Getter + @Setter
- 添加 @JsonIgnore 到 password 字段
-
✅
src/main/java/com/it/rattan/monisuo/entity/OrderTrade.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/entity/ColdWallet.java- @Data → @Getter + @Setter
DTO 类
-
✅
src/main/java/com/it/rattan/monisuo/dto/DepositRequest.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/dto/WithdrawRequest.java- @Data → @Getter + @Setter
公共类
-
✅
src/main/java/com/it/rattan/monisuo/common/Result.java- @Data → @Getter + @Setter
-
✅
src/main/java/com/it/rattan/monisuo/context/UserContext.java- @Data → @Getter + @Setter
配置类
- ✅
src/main/java/com/it/rattan/monisuo/config/JacksonConfig.java- 优化配置,移除不兼容的 WRITE_SELF_REFERENCES_AS_NULL
- 简化配置以适配 Spring Boot 2.2.4
📊 修改统计
- 总计修改文件: 14 个
- 修改的实体类: 9 个
- 修改的 DTO 类: 2 个
- 修改的公共类: 2 个
- 修改的配置类: 1 个
🧪 测试方法
方法 1: 使用测试脚本(推荐)
cd ~/Desktop/projects/monisuo
./test_fix.sh
方法 2: 手动测试
# 1. 编译
mvn clean package -DskipTests
# 2. 启动
java -jar target/monisuo-1.0.jar
# 3. 测试接口
curl -H "Authorization: Bearer <token>" http://localhost:8080/api/asset/overview
curl -H "Authorization: Bearer <token>" http://localhost:8080/api/asset/trade
curl -H "Authorization: Bearer <token>" http://localhost:8080/api/asset/fund
✅ 验证清单
- 代码修改完成
- 编译成功
- 服务启动成功(需要 Java 环境)
- 接口测试通过(需要 Java 环境)
- 无 StackOverflowError
📚 相关文档
- 详细修复报告:
STACKOVERFLOW_FIX_REPORT.md - 测试脚本:
test_fix.sh - 本清单:
FIX_CHECKLIST.md
修复完成!请在有 Java 环境的机器上运行 ./test_fix.sh 进行验证。