From 6f7ff9f858bee0c154aa00ed552bed5636c96a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E9=9B=A8?= <2375294554@qq.com> Date: Wed, 30 Apr 2025 11:05:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E6=99=BA=E8=83=BD=E4=BD=93=E8=AE=BE=E5=A4=87=E7=90=86?= =?UTF-8?q?=E7=9A=84=E6=9C=80=E8=BF=91=E7=9A=84=E6=9C=80=E5=90=8E=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=97=B6=E9=97=B4=E6=96=B9=E6=B3=95=EF=BC=8C=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=97=B6=E9=97=B4=E5=92=8C=E8=AE=BE=E5=A4=87=E6=95=B0?= =?UTF-8?q?=E9=87=8F=20--DeviceServiceImpl.java=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/DeviceServiceImpl.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 99b40a38..0475f2e9 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 @@ -255,8 +255,19 @@ public class DeviceServiceImpl extends BaseServiceImpl @Override public Date getLatestLastConnectionTime(String agentId) { + // 查询是否有缓存时间,有则返回 + Date cachedDate = (Date) redisUtils.get(RedisKeys.getAgentDeviceLastConnectedAtById(agentId)); + if (cachedDate != null) { + return cachedDate; + } List list = deviceDao.getAllLastConnectedAtByAgentId(agentId); - return Collections.max(list, Comparator.comparing(Date::getTime)); + Date maxDate = Collections.max(list, Comparator.comparing(Date::getTime)); + // 将结果存入Redis, 存储设备最近最后连接时间,和设备数量 + redisUtils.set(RedisKeys.getAgentDeviceCountById(agentId), list.size(), 60); + if (maxDate != null) { + redisUtils.set(RedisKeys.getAgentDeviceLastConnectedAtById(agentId), maxDate, 60); + } + return maxDate; } private String getDeviceCacheKey(String deviceId) {