diff --git a/ibs/src/main/java/com/ruoyi/ibs/task/service/impl/WorkRecordServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/task/service/impl/WorkRecordServiceImpl.java index a1be851..5d5fd2d 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/task/service/impl/WorkRecordServiceImpl.java +++ b/ibs/src/main/java/com/ruoyi/ibs/task/service/impl/WorkRecordServiceImpl.java @@ -30,6 +30,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -200,11 +201,22 @@ public class WorkRecordServiceImpl implements WorkRecordService { /** * 获取预警类型及各类型预警数量 - * 每天首次查询存储到redis里 + * 每天首次查询存储到redis里,后面都从redis读取 */ @Override public List getAlterTypes() { String headId = SecurityUtils.getHeadId(); + String redisKey = alterTypeRedisKey + headId; + + // 先从 redis 获取缓存 + if (redisCache.hasKey(redisKey)) { + List cachedList = redisCache.getCacheObject(redisKey); + if (cachedList != null && !cachedList.isEmpty()) { + log.debug("从 redis 获取预警类型缓存, headId: {}", headId); + return cachedList; + } + } + String username = SecurityUtils.getUsername(); // 先查询预警类型列表 @@ -220,6 +232,10 @@ public class WorkRecordServiceImpl implements WorkRecordService { return warnInfoVO; }).collect(Collectors.toList()); + // 存入 redis,过期时间 1 天 + redisCache.setCacheObject(redisKey, resultList, 86400, TimeUnit.SECONDS); + log.debug("预警类型数据已存入 redis, headId: {}, 数量: {}", headId, resultList.size()); + return resultList; } diff --git a/ibs/src/main/resources/mapper/WorkRecordMapper.xml b/ibs/src/main/resources/mapper/WorkRecordMapper.xml index 4c0fb23..d62ff0a 100644 --- a/ibs/src/main/resources/mapper/WorkRecordMapper.xml +++ b/ibs/src/main/resources/mapper/WorkRecordMapper.xml @@ -169,7 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and alter_type = #{alterType} - order by create_time desc, status asc + order by status asc, create_time desc