zhibo/Zhibo/zhibo-h/fix-today-bugs.md

66 lines
2.9 KiB
Markdown
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.

# 今日新增代码Bug修复清单
## 发现的问题
### 1. Lombok编译错误 ❌
**问题**: `java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment`
**原因**: Lombok版本与JDK 1.8不兼容Spring Boot 2.2.6默认的Lombok版本可能过旧
**解决方案**: 在父pom.xml中显式指定Lombok版本为1.18.20兼容JDK 8
### 2. RedisUtil缺少lTrim方法 ❌
**问题**: `OfflineMessageServiceImpl.java`中调用了`redisUtil.lTrim()`方法,但`RedisUtil.java`中没有实现该方法
**位置**:
- `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/service/impl/OfflineMessageServiceImpl.java:169`
- `Zhibo/zhibo-h/crmeb-common/src/main/java/com/zbkj/common/utils/RedisUtil.java`
**解决方案**: 在RedisUtil中添加lTrim方法
### 3. RedisUtil缺少delete方法 ❌
**问题**: `OfflineMessageServiceImpl.java`中调用了`redisUtil.delete()`方法但RedisUtil中只有`del()`方法
**位置**: `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/service/impl/OfflineMessageServiceImpl.java:165`
**解决方案**: 在RedisUtil中添加delete方法作为del方法的别名
### 4. HeartbeatScheduler缺少getRoomSessions和getConversationSessions方法 ❌
**问题**: `HeartbeatScheduler.java`中调用了`liveChatHandler.getRoomSessions()`和`privateChatHandler.getConversationSessions()`但这两个Handler类中没有公开这些方法
**位置**:
- `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/HeartbeatScheduler.java:82, 145`
- `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/LiveChatHandler.java`
- `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/PrivateChatHandler.java`
**解决方案**: 在LiveChatHandler和PrivateChatHandler中添加公开的getter方法
### 5. 离线消息功能缺少与WebSocket的集成 ⚠️
**问题**: 当用户离线时私聊消息应该保存到离线消息队列但目前PrivateChatHandler中没有调用OfflineMessageService
**位置**: `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/PrivateChatHandler.java`
**解决方案**: 在PrivateChatHandler中注入OfflineMessageService当用户不在线时保存离线消息
### 6. 心跳检测缺少@EnableScheduling注解 ⚠️
**问题**: HeartbeatScheduler使用了@Scheduled注解但应用主类可能没有启用调度功能
**位置**: `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/CrmebFrontApplication.java`
**解决方案**: 在主类上添加@EnableScheduling注解
## 修复优先级
1. **高优先级** - 编译错误(必须修复才能运行)
- Lombok版本问题
- RedisUtil缺少方法
- HeartbeatScheduler缺少getter方法
2. **中优先级** - 功能不完整(影响功能正常使用)
- 离线消息与WebSocket集成
- 心跳检测调度启用
3. **低优先级** - 优化建议
- 添加更多日志
- 异常处理优化