From 7fee922796c25a29debf17e286cd8758d3dd5fd2 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Thu, 25 Sep 2025 15:56:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=98=BE=E7=A4=BA=EF=BC=88=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/DeviceServiceImpl.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 f0603519..0dbe64c7 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 @@ -134,6 +134,10 @@ public class DeviceServiceImpl extends BaseServiceImpl // 清理redis缓存 redisUtils.delete(cacheDeviceKey); redisUtils.delete(deviceKey); + + // 添加:清除智能体设备数量缓存 + redisUtils.delete(RedisKeys.getAgentDeviceCountById(agentId)); + return true; } @@ -225,6 +229,13 @@ public class DeviceServiceImpl extends BaseServiceImpl @Override public void unbindDevice(Long userId, String deviceId) { + // 先查询设备信息,获取agentId + DeviceEntity device = baseDao.selectById(deviceId); + if (device != null && StringUtils.isNotBlank(device.getAgentId())) { + // 清除智能体设备数量缓存 + redisUtils.delete(RedisKeys.getAgentDeviceCountById(device.getAgentId())); + } + UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.eq("user_id", userId); wrapper.eq("id", deviceId); @@ -459,6 +470,9 @@ public class DeviceServiceImpl extends BaseServiceImpl entity.setUpdater(userId); entity.setAutoUpdate(1); baseDao.insert(entity); + + // 添加:清除智能体设备数量缓存 + redisUtils.delete(RedisKeys.getAgentDeviceCountById(dto.getAgentId())); } /** From b2dfbb79734dd440ecb6ed01685a602ab148a68d Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Thu, 25 Sep 2025 16:12:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update:=E4=BC=98=E5=8C=96=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/DeviceServiceImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 0dbe64c7..a79d1f2e 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 @@ -134,10 +134,10 @@ public class DeviceServiceImpl extends BaseServiceImpl // 清理redis缓存 redisUtils.delete(cacheDeviceKey); redisUtils.delete(deviceKey); - + // 添加:清除智能体设备数量缓存 redisUtils.delete(RedisKeys.getAgentDeviceCountById(agentId)); - + return true; } @@ -231,11 +231,14 @@ public class DeviceServiceImpl extends BaseServiceImpl public void unbindDevice(Long userId, String deviceId) { // 先查询设备信息,获取agentId DeviceEntity device = baseDao.selectById(deviceId); - if (device != null && StringUtils.isNotBlank(device.getAgentId())) { + if (device == null) { + return; + } + if (StringUtils.isNotBlank(device.getAgentId())) { // 清除智能体设备数量缓存 redisUtils.delete(RedisKeys.getAgentDeviceCountById(device.getAgentId())); } - + UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.eq("user_id", userId); wrapper.eq("id", deviceId); @@ -470,7 +473,7 @@ public class DeviceServiceImpl extends BaseServiceImpl entity.setUpdater(userId); entity.setAutoUpdate(1); baseDao.insert(entity); - + // 添加:清除智能体设备数量缓存 redisUtils.delete(RedisKeys.getAgentDeviceCountById(dto.getAgentId())); }