From 60bace53df2bd39cf3349ccd2195079fb18c6d6f Mon Sep 17 00:00:00 2001 From: tangwei Date: Fri, 3 Jul 2026 11:43:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/yfd/platform/config/RedisConfig.java | 8 ++++++++ .../qgc_env/zq/service/impl/ZqMonitorServiceImpl.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/backend/src/main/java/com/yfd/platform/config/RedisConfig.java b/backend/src/main/java/com/yfd/platform/config/RedisConfig.java index 066d5cc2..7f32bf5d 100644 --- a/backend/src/main/java/com/yfd/platform/config/RedisConfig.java +++ b/backend/src/main/java/com/yfd/platform/config/RedisConfig.java @@ -3,6 +3,7 @@ package com.yfd.platform.config; import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.json.JSONUtil; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; @@ -80,6 +81,13 @@ public class RedisConfig { objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); objectMapper.registerModule(new JavaTimeModule()); objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + // ✅ 关键:启用默认类型信息(必须添加) + objectMapper.activateDefaultTyping( + objectMapper.getPolymorphicTypeValidator(), + ObjectMapper.DefaultTyping.NON_FINAL, + JsonTypeInfo.As.PROPERTY + ); + return new GenericJackson2JsonRedisSerializer(objectMapper); } diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/zq/service/impl/ZqMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/zq/service/impl/ZqMonitorServiceImpl.java index 4c9ce2cc..a573ce04 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/zq/service/impl/ZqMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/zq/service/impl/ZqMonitorServiceImpl.java @@ -25,6 +25,7 @@ import com.yfd.platform.qgc_env.zq.service.ZqMonitorService; import com.yfd.platform.utils.QgcQueryWrapperUtil; import com.yfd.platform.utils.SecurityUtils; import jakarta.annotation.Resource; +import org.springframework.cache.annotation.Cacheable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -89,11 +90,13 @@ public class ZqMonitorServiceImpl implements ZqMonitorService { private MsOperationLogDetailMapper msOperationLogDetailMapper; @Override + @Cacheable(cacheNames = "zqCache#7200", keyGenerator = "cacheKeyGenerator") public DataSourceResult getMsstbprptList(DataSourceRequest dataSourceRequest) { return getMsstbprptListInternal(dataSourceRequest, false); } @Override + @Cacheable(cacheNames = "zqCache#7200", keyGenerator = "cacheKeyGenerator") public DataSourceResult getEngMsstbprptList(DataSourceRequest dataSourceRequest) { DataSourceRequest request = dataSourceRequest == null ? new DataSourceRequest() : dataSourceRequest; request.setSelect(Arrays.asList("stcd", "stnm", "wtDeviceType", "dtinType", "mway"));