添加获取这个智能体设备理的最近的最后连接时间定义和实现

--DeviceService.java 方法定义
--DeviceServiceImpl.java 方法实现
This commit is contained in:
剑雨
2025-04-30 10:45:49 +08:00
parent 9b0088f4f0
commit 1d627d570d
2 changed files with 17 additions and 6 deletions
@@ -1,5 +1,6 @@
package xiaozhi.modules.device.service;
import java.util.Date;
import java.util.List;
import xiaozhi.common.page.PageData;
@@ -78,4 +79,13 @@ public interface DeviceService extends BaseService<DeviceEntity> {
* @return 激活码
*/
String geCodeByDeviceId(String deviceId);
/**
* 获取这个智能体设备理的最近的最后连接时间
* @param agentId 智能体id
* @return 返回设备最近的最后连接时间
*/
Date getLatestLastConnectionTime(String agentId);
}
@@ -1,12 +1,7 @@
package xiaozhi.modules.device.service.impl;
import java.time.Instant;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import java.util.UUID;
import java.util.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -258,6 +253,12 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceDao, DeviceEntity>
return null;
}
@Override
public Date getLatestLastConnectionTime(String agentId) {
List<Date> list = deviceDao.getAllLastConnectedAtByAgentId(agentId);
return Collections.max(list, Comparator.comparing(Date::getTime));
}
private String getDeviceCacheKey(String deviceId) {
String safeDeviceId = deviceId.replace(":", "_").toLowerCase();
String dataKey = String.format("ota:activation:data:%s", safeDeviceId);