From 059fa6f8e28a276112cb7c5f5d82e1e987f02665 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 01 三月 2024 14:03:51 +0800
Subject: [PATCH] 数据目录添加缓存

---
 src/main/java/com/lf/server/service/data/DirService.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 46 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/DirService.java b/src/main/java/com/lf/server/service/data/DirService.java
index f4b5c58..e46f6ae 100644
--- a/src/main/java/com/lf/server/service/data/DirService.java
+++ b/src/main/java/com/lf/server/service/data/DirService.java
@@ -1,18 +1,19 @@
 package com.lf.server.service.data;
 
+import com.lf.server.entity.all.RedisCacheKey;
 import com.lf.server.entity.data.DirEntity;
 import com.lf.server.helper.PathHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.helper.Zip4jHelper;
 import com.lf.server.mapper.data.DirMapper;
+import com.lf.server.service.all.RedisService;
 import net.lingala.zip4j.ZipFile;
 import net.lingala.zip4j.model.ZipParameters;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -20,42 +21,50 @@
  * @author sws
  * @date 2022-09-24
  */
-
 @Service
 public class DirService implements DirMapper {
-    @Autowired
+    @Resource
     PathHelper pathHelper;
 
-    @Autowired
+    @Resource
     DirMapper dirMapper;
+
+    @Resource
+    RedisService redisService;
 
     @Override
     public Integer insert(DirEntity dirEntity) {
+        clearCache();
         return dirMapper.insert(dirEntity);
     }
 
     @Override
     public Integer inserts(List<DirEntity> dirEntity) {
+        clearCache();
         return dirMapper.inserts(dirEntity);
     }
 
     @Override
     public Integer deleteDir(int id) {
+        clearCache();
         return dirMapper.deleteDir(id);
     }
 
     @Override
     public Integer deleteDirs(List<Integer> ids) {
+        clearCache();
         return dirMapper.deleteDirs(ids);
     }
 
     @Override
     public Integer update(DirEntity dirEntity) {
+        clearCache();
         return dirMapper.update(dirEntity);
     }
 
     @Override
     public Integer updates(List<DirEntity> dirEntity) {
+        clearCache();
         return dirMapper.updates(dirEntity);
     }
 
@@ -71,12 +80,26 @@
 
     @Override
     public List<DirEntity> selectDirAll() {
-        return dirMapper.selectDirAll();
+        String key = RedisCacheKey.dataDirKey("selectDirAll");
+        List<DirEntity> list = redisService.getListByKey(key);
+        if (null == list) {
+            list = dirMapper.selectDirAll();
+            redisService.saveListByKey(key, list);
+        }
+
+        return list;
     }
 
     @Override
     public List<DirEntity> selectDirRoot() {
-        return dirMapper.selectDirRoot();
+        String key = RedisCacheKey.dataDirKey("selectDirRoot");
+        List<DirEntity> list = redisService.getListByKey(key);
+        if (null == list) {
+            list = dirMapper.selectDirRoot();
+            redisService.saveListByKey(key, list);
+        }
+
+        return list;
     }
 
     @Override
@@ -95,7 +118,14 @@
 
     @Override
     public List<DirEntity> selectDirsForPrj() {
-        return dirMapper.selectDirsForPrj();
+        String key = RedisCacheKey.dataDirKey("selectDirsForPrj");
+        List<DirEntity> list = redisService.getListByKey(key);
+        if (null == list) {
+            list = dirMapper.selectDirsForPrj();
+            redisService.saveListByKey(key, list);
+        }
+
+        return list;
     }
 
     @Override
@@ -109,6 +139,14 @@
     }
 
     /**
+     * 娓呴櫎缂撳瓨
+     */
+    public void clearCache() {
+        String key = RedisCacheKey.dataDirKey("");
+        redisService.clearKeys(key);
+    }
+
+    /**
      * 鍒涘缓鏁版嵁鐩綍
      */
     public String createDirs(int id) throws Exception {

--
Gitblit v1.9.3