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 2c5930f9..54cee8ae 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 @@ -60,14 +60,16 @@ public class DeviceServiceImpl extends BaseServiceImpl @Async public void updateDeviceConnectionInfo(String agentId, String deviceId, String appVersion) { try { - DeviceEntity device = new DeviceEntity(); - device.setId(deviceId); - device.setLastConnectedAt(new Date()); - device.setUpdateDate(new Date()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", deviceId) + .set("last_connected_at", new Date()) + .set("update_date", new Date()); + if (StringUtils.isNotBlank(appVersion)) { - device.setAppVersion(appVersion); + updateWrapper.set("app_version", appVersion); } - deviceDao.updateById(device); + deviceDao.update(null, updateWrapper); + if (StringUtils.isNotBlank(agentId)) { redisUtils.set(RedisKeys.getAgentDeviceLastConnectedAtById(agentId), new Date()); }