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"));