From 7a269dcbbb1388bc885105fef39de1b815c29a77 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 8 Nov 2024 09:44:31 +0800 Subject: [PATCH] =?UTF-8?q?redis=E7=BC=93=E5=AD=98=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TbBdRecordServiceImpl.java | 22 +++++++++++++--- .../impl/TbDevAttributeServiceImpl.java | 26 +++++++++++++++---- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbBdRecordServiceImpl.java b/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbBdRecordServiceImpl.java index ad64a7d..2f1600e 100644 --- a/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbBdRecordServiceImpl.java +++ b/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbBdRecordServiceImpl.java @@ -16,6 +16,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.redis.service.RedisService; import com.bonus.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -43,6 +44,9 @@ public class TbBdRecordServiceImpl implements TbBdRecordService { @Resource private RedisService redisService; + @Value("${isRedisCache}") + private Boolean isRedisCache; + @Override @Transactional(rollbackFor = Exception.class) public AjaxResult deleteByPrimaryKey(Long id) { @@ -222,16 +226,26 @@ public class TbBdRecordServiceImpl implements TbBdRecordService { @Override public PageResultVo getAll(TbBdRecord record){ - List list = redisService.getCacheObject(Constants.TB_BD_RECORD_REDIS_KEY); - if (list == null || list.isEmpty()) { - // 从数据库获取数据并缓存 + List list; + if (isRedisCache) { + list = redisService.getCacheObject(Constants.TB_BD_RECORD_REDIS_KEY); + if (list == null || list.isEmpty()) { + // 从数据库获取数据并缓存 + list = tbBdRecordMapper.getAll(record); + if (list != null && !list.isEmpty()) { + // 设置缓存并定义有效时间,避免重复加载数据 + redisService.setCacheObject(Constants.TB_BD_RECORD_REDIS_KEY, list, 600L, TimeUnit.MINUTES); + } + } + } else { list = tbBdRecordMapper.getAll(record); - redisService.setCacheObject(Constants.TB_BD_RECORD_REDIS_KEY, list, 10L, TimeUnit.MINUTES); } // 处理手机号解密 + if (CollectionUtils.isNotEmpty(list)) { list.stream() .filter(tbBdRecord -> tbBdRecord.getDepartName() != null) .forEach(tbBdRecord -> tbBdRecord.setRelPhone(Sm4Utils.decode(tbBdRecord.getRelPhone()))); + } // 手动计算分页信息 // 默认为第1页 int pageNum = Math.max(record.getPageNum(), 1); diff --git a/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbDevAttributeServiceImpl.java b/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbDevAttributeServiceImpl.java index 7370770..d3dec23 100644 --- a/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbDevAttributeServiceImpl.java +++ b/bonus-modules/base/src/main/java/com/bonus/base/basic/service/impl/TbDevAttributeServiceImpl.java @@ -11,6 +11,7 @@ import com.bonus.base.basic.config.Constants; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.redis.service.RedisService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,6 +34,9 @@ public class TbDevAttributeServiceImpl implements TbDevAttributeService { @Resource private RedisService redisService; + @Value("${isRedisCache}") + private Boolean isRedisCache; + @Override public int deleteByPrimaryKey(Long id) { return tbDevAttributeMapper.deleteByPrimaryKey(id); @@ -68,14 +72,26 @@ public class TbDevAttributeServiceImpl implements TbDevAttributeService { return tbDevAttributeMapper.updateBatch(list); } + /** + * 查询设备监测信息管理数据 + * @param record + * @return + */ @Override public PageResultVo queryAll(TbDevAttribute record) { - //先从缓存中查询 - List list = redisService.getCacheObject(Constants.TB_DEV_ATTRIBUTE_REDIS_KEY); - if (list == null || list.isEmpty()) { - // 从数据库获取数据并缓存 + List list; + if (isRedisCache) { + //先从缓存中查询 + list = redisService.getCacheObject(Constants.TB_DEV_ATTRIBUTE_REDIS_KEY); + if (list == null || list.isEmpty()) { + // 从数据库获取数据并缓存 + list = tbDevAttributeMapper.queryAll(record); + if (CollectionUtils.isNotEmpty(list)) { + redisService.setCacheObject(Constants.TB_DEV_ATTRIBUTE_REDIS_KEY, list, 600L, TimeUnit.MINUTES); + } + } + } else { list = tbDevAttributeMapper.queryAll(record); - redisService.setCacheObject(Constants.TB_DEV_ATTRIBUTE_REDIS_KEY, list, 10L, TimeUnit.MINUTES); } if (CollectionUtils.isNotEmpty(list)) { list.forEach(attribute -> {