diff --git a/main/manager-api/src/main/java/xiaozhi/modules/device/dao/DeviceDao.java b/main/manager-api/src/main/java/xiaozhi/modules/device/dao/DeviceDao.java index abff8ab3..6570b89b 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/device/dao/DeviceDao.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/device/dao/DeviceDao.java @@ -16,6 +16,6 @@ public interface DeviceDao extends BaseMapper { * @param agentId 智能体id * @return */ - List getAllLastConnectedAtByAgentId(String agentId); + Date getAllLastConnectedAtByAgentId(String agentId); } \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceServiceImpl.java index 0475f2e9..59e329fa 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceServiceImpl.java @@ -260,12 +260,9 @@ public class DeviceServiceImpl extends BaseServiceImpl if (cachedDate != null) { return cachedDate; } - List list = deviceDao.getAllLastConnectedAtByAgentId(agentId); - Date maxDate = Collections.max(list, Comparator.comparing(Date::getTime)); - // 将结果存入Redis, 存储设备最近最后连接时间,和设备数量 - redisUtils.set(RedisKeys.getAgentDeviceCountById(agentId), list.size(), 60); + Date maxDate = deviceDao.getAllLastConnectedAtByAgentId(agentId); if (maxDate != null) { - redisUtils.set(RedisKeys.getAgentDeviceLastConnectedAtById(agentId), maxDate, 60); + redisUtils.set(RedisKeys.getAgentDeviceLastConnectedAtById(agentId), maxDate, 60 * 2); } return maxDate; } diff --git a/main/manager-api/src/main/resources/mapper/device/DeviceDao.xml b/main/manager-api/src/main/resources/mapper/device/DeviceDao.xml index 09f16760..54de47c9 100644 --- a/main/manager-api/src/main/resources/mapper/device/DeviceDao.xml +++ b/main/manager-api/src/main/resources/mapper/device/DeviceDao.xml @@ -3,6 +3,10 @@ \ No newline at end of file