package com.terra.system.service.sys; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.SettingData; import com.terra.system.entity.sys.LayerEntity; import com.terra.common.helper.StringHelper; import com.terra.system.mapper.sys.LayerMapper; import com.terra.system.service.all.RedisService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.concurrent.TimeUnit; @Service @SuppressWarnings("ALL") public class LayerService implements LayerMapper { @Resource LayerMapper layerMapper; @Resource RedisService redisService; @Override public List selectLayers(String uid) { String key = RedisCacheKey.permsLayerKey(uid); Object obj = redisService.get(key); if (obj instanceof List) { return (List) obj; } List list = layerMapper.selectLayers(uid); if (list != null && list.size() > 0) { redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); } return list; } @Override public List selectProjectLayers(String uid) { String key = RedisCacheKey.permsProjectLayerKey(uid); Object obj = redisService.get(key); if (obj instanceof List) { return (List) obj; } List 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 selectByPage(String name, Integer limit, Integer offset) { name = StringHelper.getLikeUpperStr(name); return layerMapper.selectByPage(name, limit, offset); } @Override public List 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 public Integer insert(LayerEntity entity) { return layerMapper.insert(entity); } @Override public Integer inserts(List list) { return layerMapper.inserts(list); } @Override public Integer delete(int id) { return layerMapper.delete(id); } @Override public Integer deletes(List ids) { return layerMapper.deletes(ids); } @Override public Integer update(LayerEntity entity) { return layerMapper.update(entity); } @Override public Integer updates(List list) { return layerMapper.updates(list); } public void clearCache() { redisService.clearKeys(RedisCacheKey.permsLayerKey("")); } }