From 67d965cb476bde49109a3773532c33dd9de60518 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期三, 09 八月 2023 13:30:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
index afd8684..7a1a5be 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -3,10 +3,12 @@
 import java.time.LocalTime;
 import java.util.*;
 
+import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.hiksdk.common.GlobalVariable;
 import com.ruoyi.system.domain.SysConfig;
@@ -39,6 +41,25 @@
     @Resource
     private RedisCache redisCache;
 
+
+    @PostConstruct
+    public void loadCameras() {
+        List<ArdCameras> ardCameras = selectArdCamerasListNoDataScope(new ArdCameras());
+        for (ArdCameras ardCamera : ardCameras) {
+            redisCache.setCacheObject(getCacheKey(ardCamera.getId()), ardCamera);
+        }
+
+    }
+
+    /**
+     * 璁剧疆cache key
+     *
+     * @param configKey 鍙傛暟閿�
+     * @return 缂撳瓨閿甼ey
+     */
+    private String getCacheKey(String configKey) {
+        return CacheConstants.CAMERA_LIST_KEY + configKey;
+    }
 
     /**
      * 鏌ヨ鐩告満璁惧
@@ -82,9 +103,11 @@
      */
     @Override
     public int insertArdCameras(ArdCameras ardCameras) {
+        ardCameras.setId(IdUtils.simpleUUID());
         ardCameras.setCreateBy(SecurityUtils.getUsername());
         ardCameras.setCreateTime(DateUtils.getNowDate());
         ardCameras.setUserId(SecurityUtils.getUserId());
+        redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras);
         return ardCamerasMapper.insertArdCameras(ardCameras);
     }
 
@@ -97,7 +120,12 @@
     @Override
     public int updateArdCameras(ArdCameras ardCameras) {
         ardCameras.setUpdateTime(DateUtils.getNowDate());
-        return ardCamerasMapper.updateArdCameras(ardCameras);
+        int res = ardCamerasMapper.updateArdCameras(ardCameras);
+        if (res > 0) {
+            redisCache.deleteObject(getCacheKey(ardCameras.getId()));
+            redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras);
+        }
+        return res;
     }
 
     /**
@@ -108,7 +136,15 @@
      */
     @Override
     public int deleteArdCamerasByIds(String[] ids) {
-        return ardCamerasMapper.deleteArdCamerasByIds(ids);
+        int res = ardCamerasMapper.deleteArdCamerasByIds(ids);
+        if(res>0)
+        {
+            for(String id:ids)
+            {
+                redisCache.deleteObject(getCacheKey(id));
+            }
+        }
+        return res;
     }
 
     /**
@@ -136,10 +172,10 @@
      */
 
     @Override
-    public Map getChildDeptAndCamera() {
+    public Map getChildDeptAndCamera(Boolean disabled) {
         Long deptId = SecurityUtils.getDeptId();
         SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
-        Map<String, Object> map = fetchChildDepartments(sysDept);
+        Map<String, Object> map = fetchChildDepartments(sysDept, disabled);
         return map;
     }
 
@@ -151,11 +187,11 @@
      * @鍒涘缓鏃堕棿 2023/6/2 14:38
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
-    public Map<String, Object> fetchChildDepartments(SysDept sysDept) {
+    public Map<String, Object> fetchChildDepartments(SysDept sysDept, Boolean disabled) {
         Map<String, Object> map = new HashMap<>();
         map.put("name", sysDept.getDeptName());
         map.put("deptId", sysDept.getDeptId());
-        map.put("disabled", true);
+        map.put("disabled", disabled);
         List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId());
         List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasByDeptId(sysDept.getDeptId());
         List<Object> childList = new ArrayList<>();
@@ -163,8 +199,8 @@
             Map<String, Object> childMap = new HashMap<>();
             childMap.put("name", childDept.getDeptName());
             childMap.put("deptId", childDept.getDeptId());
-            childMap.put("disabled", true);
-            Map<String, Object> map1 = fetchChildDepartments(childDept);
+            childMap.put("disabled", disabled);
+            Map<String, Object> map1 = fetchChildDepartments(childDept, disabled);
             childMap.putAll(map1);
             childList.add(childMap);
         }

--
Gitblit v1.9.3