管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-07-14 7264d09d329cf0ff533d59fa6b7a01c605fa5b8c
添加查询图层的缓存功能
已修改5个文件
76 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/data/LayerController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/data/PublishController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/all/RedisCacheKey.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/all/PermsService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/LayerService.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/data/LayerController.java
@@ -139,6 +139,9 @@
            }
            int count = layerService.insert(entity);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -162,6 +165,9 @@
            }
            int count = layerService.inserts(list);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -178,6 +184,9 @@
    public ResponseMsg<Integer> delete(int id) {
        try {
            int count = layerService.delete(id);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -198,6 +207,9 @@
            }
            int count = layerService.deletes(ids);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -220,6 +232,9 @@
            }
            int count = layerService.update(entity);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -244,6 +259,9 @@
            }
            int count = layerService.updates(list);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
src/main/java/com/lf/server/controller/data/PublishController.java
@@ -9,6 +9,7 @@
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.helper.WebHelper;
import com.lf.server.service.data.LayerService;
import com.lf.server.service.data.PublishService;
import com.lf.server.service.sys.TokenService;
import io.swagger.annotations.Api;
@@ -18,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -29,11 +31,14 @@
@RestController
@RequestMapping("/publish")
public class PublishController extends BaseController {
    @Autowired
    @Resource
    PublishService publishService;
    @Autowired
    @Resource
    TokenService tokenService;
    @Resource
    LayerService layerService;
    @SysLog()
    @ApiOperation(value = "分页查询元数据")
@@ -190,6 +195,9 @@
            String method = getConvertMethod(entity.getType());
            long count = publishService.postForPub(entity, method, req);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -241,6 +249,9 @@
            publishService.deleteFiles(list);
            int count = publishService.deletes(ids, req);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
@@ -263,6 +274,9 @@
            }
            int count = publishService.update(entity);
            if (count > 0) {
                layerService.clearCache();
            }
            return success(count);
        } catch (Exception ex) {
src/main/java/com/lf/server/entity/all/RedisCacheKey.java
@@ -41,6 +41,13 @@
    }
    /**
     * 图层授权键
     */
    public static String permsLayerKey(String key) {
        return "perms:layer:" + key;
    }
    /**
     * 菜单授权键
     */
    public static String permsMenusKey(String key) {
src/main/java/com/lf/server/service/all/PermsService.java
@@ -6,6 +6,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -15,10 +16,10 @@
 */
@Service
public class PermsService implements PermsMapper {
    @Autowired
    @Resource
    PermsMapper permsMapper;
    @Autowired
    @Resource
    RedisService redisService;
    @Override
src/main/java/com/lf/server/service/data/LayerService.java
@@ -1,12 +1,16 @@
package com.lf.server.service.data;
import com.lf.server.entity.all.RedisCacheKey;
import com.lf.server.entity.all.SettingData;
import com.lf.server.entity.data.LayerEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.mapper.data.LayerMapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.lf.server.service.all.RedisService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
 * 图层
@@ -14,8 +18,11 @@
 */
@Service
public class LayerService implements LayerMapper {
    @Autowired
    @Resource
    LayerMapper layerMapper;
    @Resource
    RedisService redisService;
    @Override
    public Integer selectCount(String cnName) {
@@ -33,7 +40,22 @@
    @Override
    public List<LayerEntity> selectAll() {
        return layerMapper.selectAll();
        String key = RedisCacheKey.permsLayerKey("");
        Object obj = redisService.get(key);
        if (obj instanceof List<?>) {
            return (List<LayerEntity>) obj;
        }
        List<LayerEntity> list = layerMapper.selectAll();
        if (list != null && list.size() > 0) {
            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
        }
        return list;
    }
    public void clearCache() {
        redisService.clearKeys(RedisCacheKey.permsLayerKey(""));
    }
    @Override