From a64b495083accd6e5461d29ac2047a5954c76856 Mon Sep 17 00:00:00 2001 From: JianYu Zheng <2375294554@qq.com> Date: Wed, 9 Jul 2025 17:31:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=20--AgentV?= =?UTF-8?q?oicePrintServiceImpl.java=20=E6=B7=BB=E5=8A=A0=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A3=B0=E7=BA=B9=E9=9F=B3=E9=A2=91=E7=9A=84?= =?UTF-8?q?=E6=98=AF=E5=A2=9E=E5=8A=A0=E4=BA=86=E9=AA=8C=E8=AF=81=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E9=9F=B3=E9=A2=91=E6=98=AF=E5=90=A6=E5=B1=9E=E4=BA=8E?= =?UTF-8?q?=E8=BF=99=E4=B8=AA=E6=99=BA=E8=83=BD=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AgentVoicePrintServiceImpl.java | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentVoicePrintServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentVoicePrintServiceImpl.java index 0e51c52a..6715b1b4 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentVoicePrintServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentVoicePrintServiceImpl.java @@ -20,6 +20,7 @@ import xiaozhi.modules.agent.dto.AgentVoicePrintSaveDTO; import xiaozhi.modules.agent.dto.AgentVoicePrintUpdateDTO; import xiaozhi.modules.agent.entity.AgentVoicePrintEntity; import xiaozhi.modules.agent.service.AgentChatAudioService; +import xiaozhi.modules.agent.service.AgentChatHistoryService; import xiaozhi.modules.agent.service.AgentVoicePrintService; import xiaozhi.modules.agent.vo.AgentVoicePrintVO; import xiaozhi.modules.sys.service.SysParamsService; @@ -40,16 +41,15 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl() + AgentVoicePrintEntity agentVoicePrintEntity = + baseMapper.selectOne(new LambdaQueryWrapper() .eq(AgentVoicePrintEntity::getId, dto.getId()) .eq(AgentVoicePrintEntity::getCreator, userId)); - if (l != 1) { + if (agentVoicePrintEntity == null) { return false; } // 获取音频Id String audioId = dto.getAudioId(); - // 如果有新的音频 + // 获取智能体id + String agentId = agentVoicePrintEntity.getAgentId(); ByteArrayResource resource; - if (!StringUtils.isEmpty(audioId)) { - resource = getVoicePrintAudioWAV(audioId); + // audioId不等于空,且audioId和之前的保存的音频id不一样,则需要重新获取音频数据生成声纹 + if (!StringUtils.isEmpty(audioId) && !audioId.equals(agentVoicePrintEntity.getAudioId())) { + resource = getVoicePrintAudioWAV(agentId,audioId); } else { resource = null; } @@ -162,6 +165,8 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl