13693261870
2025-07-08 810ad9dbaa8553299a4516790a9f546a9b84905e
se-system/src/main/java/com/terra/system/service/data/LayerService.java
@@ -1,6 +1,7 @@
package com.terra.system.service.data;
import com.terra.system.entity.all.RedisCacheKey;
import com.terra.system.entity.all.SettingData;
import com.terra.system.entity.data.LayerEntity;
import com.terra.system.helper.StringHelper;
import com.terra.system.mapper.data.LayerMapper;
@@ -9,6 +10,7 @@
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
 * 图层
@@ -23,41 +25,75 @@
    RedisService redisService;
    @Override
    public Integer selectCount(String cnName) {
        cnName = StringHelper.getLikeUpperStr(cnName);
    public List<LayerEntity> selectLayers(String uid) {
        String key = RedisCacheKey.permsLayerKey(uid);
        Object obj = redisService.get(key);
        if (obj instanceof List<?>) {
            return (List<LayerEntity>) obj;
        }
        return layerMapper.selectCount(cnName);
    }
    @Override
    public List<LayerEntity> selectByPage(String cnName, Integer limit, Integer offset) {
        cnName = StringHelper.getLikeUpperStr(cnName);
        return layerMapper.selectByPage(cnName, limit, offset);
    }
    @Override
    public List<LayerEntity> selectAll() {
        String key = RedisCacheKey.permsLayerKey("selectAll");
        List<LayerEntity> list = redisService.getListByKey(key);
        if (null == list) {
            list = layerMapper.selectAll();
            redisService.saveListByKey(key, list);
        List<LayerEntity> list = layerMapper.selectLayers(uid);
        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
    public List<LayerEntity> selectProjectLayers(String uid) {
        String key = RedisCacheKey.permsProjectLayerKey(uid);
        Object obj = redisService.get(key);
        if (obj instanceof List<?>) {
            return (List<LayerEntity>) obj;
        }
        List<LayerEntity> list = layerMapper.selectProjectLayers(uid);
        if (list != null && list.size() > 0) {
            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
        }
        return list;
    }
    @Override
    public Integer selectCount(String name) {
        name = StringHelper.getLikeUpperStr(name);
        return layerMapper.selectCount(name);
    }
    @Override
    public List<LayerEntity> selectByPage(String name, Integer limit, Integer offset) {
        name = StringHelper.getLikeUpperStr(name);
        return layerMapper.selectByPage(name, limit, offset);
    }
    @Override
    public List<LayerEntity> selectAll(Integer flag) {
        return layerMapper.selectAll(flag);
    }
    @Override
    public LayerEntity selectById(int id) {
        return layerMapper.selectById(id);
    }
    @Override
    public Integer selectIdByName(String name) {
        Integer id = layerMapper.selectIdByName(name);
        return null == id ? 0 : id;
    }
    @Override
    public Integer selectMaxOrderNumByPid(Integer pid) {
        return layerMapper.selectMaxOrderNumByPid(pid);
    }
    @Override
    public LayerEntity selectByResId(Integer resid) {
        return layerMapper.selectByResId(resid);
    }
    @Override
@@ -89,4 +125,11 @@
    public Integer updates(List<LayerEntity> list) {
        return layerMapper.updates(list);
    }
    /**
     * 清除缓存
     */
    public void clearCache() {
        redisService.clearKeys(RedisCacheKey.permsLayerKey(""));
    }
}