Răsfoiți Sursa

fix: cache

jackzhou 4 luni în urmă
părinte
comite
3c9482dd6c

+ 1 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/config/JfcloudColdChainConstants.java

@@ -36,6 +36,7 @@ public interface JfcloudColdChainConstants {
 
 
     String MONITORTARGETREGION_CACHE_NAME = "monitorTargetRegion";
+    String MONITORTARGET_CACHE_NAME = "monitorTarget";
 
     /**
      * 数据上报队列最大容量

+ 10 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/config/JfcloudRedisCacheService.java

@@ -28,5 +28,15 @@ public class JfcloudRedisCacheService {
             log.info("Cache evicted for key: " + key);
         }
     }
+
+    public void evictMonitorTargetCache(String orgId) {
+        // 获取指定缓存
+        Cache cache = cacheManager.getCache(JfcloudColdChainConstants.MONITORTARGET_CACHE_NAME);
+        if (cache != null) {
+            String key = orgId;
+            cache.evict(key);
+            log.info("Cache evicted for key: " + key);
+        }
+    }
 }
 

+ 2 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/app/service/AppDeviceService.java

@@ -18,6 +18,7 @@ import com.github.jfcloud.influxdb.flux.AggregationWindow;
 import com.google.common.collect.Lists;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.coldchain.core.bean.influxdb.SensorData;
 import vip.xiaonuo.coldchain.core.service.JfcloudSensorDataService;
 import vip.xiaonuo.coldchain.modular.app.param.*;
@@ -65,6 +66,7 @@ public class AppDeviceService {
         monitorTargetPageParam.setSearchKey(appDevicePageParam.getSearchKey());
         monitorTargetPageParam.setName(appDevicePageParam.getName());
         monitorTargetPageParam.setRoomId(appDevicePageParam.getRoomId());
+        monitorTargetPageParam.setOrgId(StpLoginUserUtil.getLoginUser().getOrgId());
         // 调用 monitorTargetService 查询当前用户的监控目标数据,分页结果
         Page<MonitorTarget> pageByUser = monitorTargetService.selectMonitorTargetByPage(monitorTargetPageParam);
         // 遍历监控目标分页记录

+ 11 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
+import vip.xiaonuo.coldchain.core.config.JfcloudRedisCacheService;
 import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount;
@@ -64,6 +65,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     private MonitorTargetMapper monitorTargetMapper;
     @Resource
     private TargetRoomService targetRoomService;
+    @Resource
+    private JfcloudRedisCacheService jfcloudRedisCacheService;
 
     @Override
     public Page<MonitorTarget> page(MonitorTargetPageParam monitorTargetPageParam) {
@@ -120,6 +123,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     public void add(MonitorTargetAddParam monitorTargetAddParam) {
         MonitorTarget monitorTarget = BeanUtil.toBean(monitorTargetAddParam, MonitorTarget.class);
         this.save(monitorTarget);
+        
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -128,6 +132,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         MonitorTarget monitorTarget = this.queryEntity(monitorTargetEditParam.getId());
         BeanUtil.copyProperties(monitorTargetEditParam, monitorTarget);
         this.updateById(monitorTarget);
+        
     }
 
     @Override
@@ -142,6 +147,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     public void addWithRoom(MonitorTargetAddWithRoomParam monitorTargetAddWithRoomParam) {
         MonitorTarget monitorTarget = BeanUtil.toBean(monitorTargetAddWithRoomParam, MonitorTarget.class);
         this.save(monitorTarget);
+        
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -150,6 +156,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         MonitorTarget monitorTarget = this.queryEntity(monitorTargetEditWithRoomParam.getId());
         BeanUtil.copyProperties(monitorTargetEditWithRoomParam, monitorTarget);
         this.updateById(monitorTarget);
+        
     }
 
     @Override
@@ -203,6 +210,9 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     }
 
     @Override
+//    @Cacheable(value = JfcloudColdChainConstants.MONITORTARGET_CACHE_NAME,
+//            key = "#monitorTargetPageParam.orgId",
+//            unless = "#result == null")
     public Page<MonitorTarget> selectMonitorTargetByPage(MonitorTargetPageParam monitorTargetPageParam) {
         if (StrUtil.isBlank(monitorTargetPageParam.getOrgId())) {
             monitorTargetPageParam.setOrgId(StpLoginUserUtil.getLoginUser().getOrgId());
@@ -358,6 +368,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
                 MonitorTarget monitorTarget = this.getById(monitorTargetId);
                 if (Objects.nonNull(monitorTarget)) {
                     monitorTarget.setStatus(monitorStatusEnum.getCode());
+                    
                     return this.updateById(monitorTarget);
                 }
             }