refactor(service): 修改IEntityService泛型为VO类型并优化缓存策略
重构所有注解@CacheConfig的Service类,将IEntityService泛型从实体类改为VO类 实现实体与VO之间的转换逻辑,使用VO替代实体进行缓存以避免序列化问题 更新相关依赖组件和测试用例,确保功能完整性和系统兼容性 优化Redis缓存配置,清理旧缓存数据并验证新缓存策略有效性
This commit is contained in:
@@ -118,10 +118,24 @@ public class WebSocketClientService {
|
||||
String errorMsg = node.get(WebSocketConstant.MESSAGE_FIELD_NAME).asText();
|
||||
logger.error("收到错误消息: 错误码={}, 错误信息={}", errorCode, errorMsg);
|
||||
if (errorCode == WebSocketConstant.ERROR_CODE_UNAUTHORIZED) {
|
||||
|
||||
// 调用所有的 callbacks 和 session 失败并且移除
|
||||
callbacks.keySet().stream().toList().forEach(key -> callbacks.remove(key).completeExceptionally(new Exception("未授权")));
|
||||
sessions.values().stream().toList().forEach(session -> {
|
||||
session.updateMessage(java.util.logging.Level.SEVERE, "未授权");
|
||||
session.close();
|
||||
});
|
||||
isActive = false;
|
||||
webSocket.close(1000, "");
|
||||
WebSocketClientService.this.webSocket = null;
|
||||
|
||||
// 处理未授权错误,重新登录
|
||||
OkHttpLoginController controller = new OkHttpLoginController();
|
||||
controller.setProperties(SpringApp.getBean(MyProperties.class));
|
||||
controller.tryLogin();
|
||||
// 需要把窗口顶置
|
||||
isActive = true;
|
||||
scheduleReconnect();
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -164,8 +178,8 @@ public class WebSocketClientService {
|
||||
};
|
||||
|
||||
private void onCallbackMessage(CompletableFuture<JsonNode> future, JsonNode node) {
|
||||
if (node.has(WebSocketConstant.SUCCESS_FIELD_VALUE)) {
|
||||
if (!node.get(WebSocketConstant.SUCCESS_FIELD_VALUE).asBoolean()) {
|
||||
if (node.has(WebSocketConstant.SUCCESS_FIELD_NAME)) {
|
||||
if (!node.get(WebSocketConstant.SUCCESS_FIELD_NAME).asBoolean()) {
|
||||
future.completeExceptionally(
|
||||
new RuntimeException(
|
||||
"请求失败:来自服务器的消息=" + node.get(WebSocketConstant.MESSAGE_FIELD_NAME).asText()));
|
||||
@@ -204,7 +218,7 @@ public class WebSocketClientService {
|
||||
String json = objectMapper.writeValueAsString(msg);
|
||||
callbacks.put(msg.getMessageId(), future);
|
||||
if (webSocket.send(json)) {
|
||||
logger.debug("send message success:{}", json);
|
||||
logger.debug("send json success:{}", json);
|
||||
} else {
|
||||
if (isActive) {
|
||||
future.completeExceptionally(new RuntimeException("Failed to send WebSocket message"));
|
||||
|
||||
Reference in New Issue
Block a user