66 lines
2.9 KiB
Markdown
66 lines
2.9 KiB
Markdown
# 今日新增代码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. **低优先级** - 优化建议
|
||
- 添加更多日志
|
||
- 异常处理优化
|