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..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,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,16 @@ public class DeviceServiceImpl extends BaseServiceImpl @Override public void unbindDevice(Long userId, String deviceId) { + // 先查询设备信息,获取agentId + DeviceEntity device = baseDao.selectById(deviceId); + 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); @@ -459,6 +473,9 @@ public class DeviceServiceImpl extends BaseServiceImpl entity.setUpdater(userId); entity.setAutoUpdate(1); baseDao.insert(entity); + + // 添加:清除智能体设备数量缓存 + redisUtils.delete(RedisKeys.getAgentDeviceCountById(dto.getAgentId())); } /**