From b201c3cca873faa538161eedd7fecbe2271df456 Mon Sep 17 00:00:00 2001 From: JianYu Zheng <2375294554@qq.com> Date: Mon, 7 Jul 2025 15:11:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=EF=BC=8C=E9=9C=80=E8=A6=81=E7=99=BB=E5=BD=95=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=98=AF=E6=AD=A4=E6=95=B0=E6=8D=AE=E6=89=80=E6=9C=89?= =?UTF-8?q?=E8=80=85=E6=89=8D=E6=9C=89=E6=9D=83=E9=99=90=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=88=A0=E9=99=A4=20--Agen?= =?UTF-8?q?tVoicePrintService.java=20=E4=BF=AE=E6=94=B9=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=20--AgentVoicePrintServiceImpl.java=20=201.?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E6=98=AF?= =?UTF-8?q?=E6=AD=A4=E6=95=B0=E6=8D=AE=E6=89=80=E6=9C=89=E8=80=85=E6=89=8D?= =?UTF-8?q?=E6=9C=89=E6=9D=83=E9=99=90=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=EF=BC=8C=E5=88=A0=E9=99=A4=20=202.=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B3=A8=E5=86=8C=E5=A3=B0=E7=BA=B9http?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=92=8C=E5=8F=91=E9=80=81=E6=B3=A8=E9=94=80?= =?UTF-8?q?=E5=A3=B0=E7=BA=B9=E7=9A=84=E8=AF=B7=E6=B1=82=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E8=AF=B4=E6=98=8E=E5=92=8C=E6=B7=BB=E5=8A=A0=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent/service/AgentVoicePrintService.java | 9 +++-- .../impl/AgentVoicePrintServiceImpl.java | 34 +++++++++++++------ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/AgentVoicePrintService.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/AgentVoicePrintService.java index 816c02e3..d6264e71 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/AgentVoicePrintService.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/AgentVoicePrintService.java @@ -24,26 +24,29 @@ public interface AgentVoicePrintService { /** * 删除智能体的指的声纹 * + * @param userId 当前登录的用户id * @param voicePrintId 声纹id * @return 是否成功 T:成功 F:失败 */ - boolean delete(String voicePrintId); + boolean delete(Long userId, String voicePrintId); /** * 获取指定智能体的所有声纹数据 * + * @param userId 当前登录的用户id * @param agentId 智能体id * @return 声纹数据集合 */ - List list(String agentId); + List list(Long userId, String agentId); /** * 更新智能体的指的声纹数据 * + * @param userId 当前登录的用户id * @param dto 修改的声纹的数据 * @return 是否成功 T:成功 F:失败 */ - boolean update(AgentVoicePrintUpdateDTO dto); + boolean update(Long userId, AgentVoicePrintUpdateDTO dto); 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 5341e823..2a254932 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 @@ -73,12 +73,14 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl { try { - // 删除声纹 - int row = baseMapper.deleteById(voicePrintId); + // 删除声纹,按照指定当前登录用户和智能体 + int row = baseMapper.delete(new LambdaQueryWrapper() + .eq(AgentVoicePrintEntity::getId,voicePrintId) + .eq(AgentVoicePrintEntity::getCreator,userId)); if(row != 1){ status.setRollbackOnly(); // 标记事务回滚 return false; @@ -95,9 +97,11 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl list(String agentId) { + public List list(Long userId, String agentId) { + // 按照指定当前登录用户和智能体查找数据 List list = baseMapper.selectList(new LambdaQueryWrapper() - .eq(AgentVoicePrintEntity::getAgentId, agentId)); + .eq(AgentVoicePrintEntity::getAgentId, agentId) + .eq(AgentVoicePrintEntity::getCreator, userId)); return list.stream().map(entity -> { // 遍历转换成AgentVoicePrintVO类型 return ConvertUtils.sourceToTarget(entity, AgentVoicePrintVO.class); @@ -106,7 +110,13 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl() + .eq(AgentVoicePrintEntity::getAgentId, dto.getId()) + .eq(AgentVoicePrintEntity::getCreator, userId)); + if (l != 1) { + return false; + } // 获取音频Id String audioId = dto.getAudioId(); // 如果有新的音频 @@ -228,12 +238,14 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl response = restTemplate.postForEntity(requestUrl, requestEntity, String.class); if (response.getStatusCode() != HttpStatus.OK) { - throw new RenException("声纹保存失败"); + log.error("声纹注册失败,请求路径:{}", requestUrl); + throw new RenException("声纹保存失败,请求不成功"); } // 检查响应内容 String responseBody = response.getBody(); if(responseBody == null || !responseBody.contains("true")){ - throw new RenException("声纹保存失败"); + log.error("声纹注册失败,请求处理失败内容:{}", responseBody == null ? "空内容" : responseBody); + throw new RenException("声纹保存失败,请求处理失败"); } } @@ -254,12 +266,14 @@ public class AgentVoicePrintServiceImpl extends ServiceImpl response = restTemplate.exchange(requestUrl, HttpMethod.DELETE, requestEntity, String.class); if (response.getStatusCode() != HttpStatus.OK) { - throw new RenException("声纹保存失败"); + log.error("声纹注销失败,请求路径:{}", requestUrl); + throw new RenException("声纹注销失败,请求不成功"); } // 检查响应内容 String responseBody = response.getBody(); if(responseBody == null || !responseBody.contains("true")){ - throw new RenException("声纹保存失败"); + log.error("声纹注销失败,请求处理失败内容:{}", responseBody == null ? "空内容" : responseBody); + throw new RenException("声纹注销失败,请求处理失败"); } } }