From a01f01198c49786821e2fb182606f9de4762549b Mon Sep 17 00:00:00 2001 From: LJH-rgsze <3241304429@qq.com> Date: Mon, 5 Jan 2026 11:13:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=8F=82=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent/service/impl/AgentServiceImpl.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java index 04c902a0..f14f8216 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java @@ -515,6 +515,44 @@ public class AgentServiceImpl extends BaseServiceImpl imp // 执行查询 List agentEntities = baseDao.selectList(queryWrapper); - return ConvertUtils.sourceToTarget(agentEntities, AgentDTO.class); + + // 转换为DTO并设置所有必要字段 + return agentEntities.stream().map(agent -> { + AgentDTO dto = new AgentDTO(); + dto.setId(agent.getId()); + dto.setAgentName(agent.getAgentName()); + dto.setSystemPrompt(agent.getSystemPrompt()); + + // 获取 TTS 模型名称 + dto.setTtsModelName(modelConfigService.getModelNameById(agent.getTtsModelId())); + + // 获取 LLM 模型名称 + dto.setLlmModelName(modelConfigService.getModelNameById(agent.getLlmModelId())); + + // 获取 VLLM 模型名称 + dto.setVllmModelName(modelConfigService.getModelNameById(agent.getVllmModelId())); + + // 获取记忆模型名称 + dto.setMemModelId(agent.getMemModelId()); + + // 获取 TTS 音色名称 + dto.setTtsVoiceName(timbreModelService.getTimbreNameById(agent.getTtsVoiceId())); + + // 获取智能体最近的最后连接时长 + dto.setLastConnectedAt(deviceService.getLatestLastConnectionTime(agent.getId())); + + // 获取设备数量 + dto.setDeviceCount(getDeviceCountByAgentId(agent.getId())); + + // 获取关联设备的MAC地址列表 + List devices = deviceService.getUserDevices(agent.getUserId(), agent.getId()); + List macAddresses = devices.stream() + .map(DeviceEntity::getMacAddress) + .filter(StringUtils::isNotBlank) + .collect(Collectors.toList()); + dto.setMacAddresses(macAddresses); + + return dto; + }).collect(Collectors.toList()); } }