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 e5f1f5f9..1b2e0783 100644 --- a/backend/src/main/java/com/yfd/platform/config/RedisConfig.java +++ b/backend/src/main/java/com/yfd/platform/config/RedisConfig.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.yfd.platform.utils.SecurityUtils; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.interceptor.KeyGenerator; @@ -114,4 +115,9 @@ public class RedisConfig { public KeyGenerator cacheKeyGenerator() { return (target, method, params) -> target.getClass().getName() + "." + method.getName() + ":" + DigestUtil.md5Hex(JSONUtil.toJsonStr(params)); } + + @Bean("cacheKeyByUserGenerator") + public KeyGenerator cacheKeyByUserGenerator() { + return (target, method, params) -> SecurityUtils.getUserId()+"."+target.getClass().getName() + "." + method.getName() + ":" + DigestUtil.md5Hex(JSONUtil.toJsonStr(params)); + } } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java index d37e12a3..c2a4aba0 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java @@ -2839,6 +2839,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl getEngPointKendoListCust(DataSourceRequest dataSourceRequest) { DataSourceResult result = new DataSourceResult<>(); result.setAggregates(new HashMap<>()); @@ -2975,10 +2976,15 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl result = new DataSourceResult<>(); Map pointParamMap = new HashMap<>(); StringBuilder pointSql = new StringBuilder(buildAlarmPointBaseSql()); -// DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(pointSql, pointParamMap, "eng.STCD"); + DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(pointSql, pointParamMap, "eng.STCD"); + if (scopeApplyResult.isEmptyResult()) { + result.setData(new ArrayList<>()); + result.setTotal(0L); + return result; + } List points= microservicDynamicSQLMapper.getAllListWithResultType( pointSql.toString(), pointParamMap, @@ -3004,7 +3010,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl> expressionRows = microservicDynamicSQLMapper.getAllList(buildAlarmPointLegendSql(), new HashMap<>()); List resultList = mergeAlarmPointData(points, qecCountMap, wqCountMap, expressionRows, yyyy); - DataSourceResult result = new DataSourceResult<>(); + result.setData(resultList); result.setTotal(resultList.size()); result.setAggregates(new HashMap<>()); diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java index e45490d4..2fd5cc9a 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java @@ -4557,7 +4557,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService { } @Override -// @Cacheable(cacheNames = "weCache#3600", keyGenerator = "cacheKeyGenerator") + @Cacheable(cacheNames = "wqCache#3600", keyGenerator = "cacheKeyByUserGenerator") public DataSourceResult getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest) { DataSourceResult dataSourceResult = new DataSourceResult<>(); dataSourceResult.setAggregates(new HashMap<>()); diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java index 1e3d7581..868bb3db 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java @@ -34,6 +34,7 @@ import com.yfd.platform.utils.RedisCacheUtil; import com.yfd.platform.utils.SecurityUtils; import jakarta.annotation.Resource; import lombok.Data; +import org.springframework.cache.annotation.Cacheable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -2846,6 +2847,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { } @Override + @Cacheable(cacheNames = "dwCache#3600", keyGenerator = "cacheKeyByUserGenerator") public DataSourceResult getFacilityPointKendoListCust(DataSourceRequest dataSourceRequest) { DataSourceResult dataSourceResult = new DataSourceResult<>(); dataSourceResult.setAggregates(new HashMap<>()); @@ -2943,6 +2945,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { } @Override + @Cacheable(cacheNames = "wtCache#3600", keyGenerator = "cacheKeyByUserGenerator") public DataSourceResult getEngTempPointListKendoListCust(DataSourceRequest dataSourceRequest) { DataSourceResult dataSourceResult = new DataSourceResult<>(); dataSourceResult.setAggregates(new HashMap<>()); @@ -3016,6 +3019,13 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { // paramMap.put("dtinType", dtinType); // } + DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(sql, paramMap, "t.RSTCD"); + if (scopeApplyResult.isEmptyResult()) { + dataSourceResult.setData(new ArrayList<>()); + dataSourceResult.setTotal(0L); + return dataSourceResult; + } + List sort = dataSourceRequest.getSort(); if (sort != null && !sort.isEmpty()) { sql.append(" ORDER BY ");