调整 ai模块

This commit is contained in:
2025-10-15 09:27:51 +08:00
parent 5a45668c61
commit 89c233ca9f
4 changed files with 60 additions and 38 deletions

View File

@@ -63,6 +63,10 @@ public class AiDialogMessageRespVo {
* 翻译结果
*/
private String transResult;
/**
* 翻译结果
*/
private Integer transStatus;
/**
* 创建时间
*/

View File

@@ -32,6 +32,10 @@ public class AiDialogMessageDO {
* 内容
*/
private String contentText;
/**
* 文件名
*/
private String fileName;
/**
* 文件时长
*/

View File

@@ -75,31 +75,34 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
if (messageDO == null) {
messageDO = new AiDialogMessageDO();
}
String fileName =StrUtil.isBlank(messageDO.getFileName())?fileReqVo.getFile().getOriginalFilename():messageDO.getFileName();
//上传文件获取文件地址
String fileName = fileReqVo.getFile().getOriginalFilename();
String fileUrl = fileServer + fileApi.createFile(fileReqVo.getFile().getBytes());
String fileUrl =StrUtil.isBlank(messageDO.getContentText())? fileServer + fileApi.createFile(fileName,"",fileReqVo.getFile().getBytes()):messageDO.getContentText();
log.info(fileUrl);
//翻译结果
translate(messageDO,fileUrl, fileName);
//创建消息 持久化消息
messageDO.setDialogId(fileReqVo.getDialogId());
messageDO.setContentDuration(fileReqVo.getContentDuration());
if (messageDO.getId()==null){
messageDO.setFileName(fileName);
messageDO.setDialogId(fileReqVo.getDialogId());
messageDO.setContentDuration(fileReqVo.getContentDuration());
messageDO.setContentText(fileUrl);
messageDO.setContentType(2);
//宠物档案 todo
messageDO.setPetId(1l);
messageDO.setPetName("猫猫翻译");
messageDO.setPetAvatar("https://img1.baidu.com/it/u=1224902049,3440357835&fm=253&app=138&f=JPEG?w=801&h=800");
//获取当前最后的排序
AiDialogMessageDO aiDialogMessageDO = aiDialogMessageMapper.selectOne(new LambdaQueryWrapper<AiDialogMessageDO>()
.eq(AiDialogMessageDO::getDialogId, fileReqVo.getDialogId())
.orderByDesc(AiDialogMessageDO::getMessageOrder)
.last("limit 1")
);
messageDO.setMessageOrder(aiDialogMessageDO == null ? 1 : aiDialogMessageDO.getMessageOrder() + 1);
messageDO.setCreateTime(LocalDateTime.now());
messageDO.setContentText(fileUrl);
messageDO.setContentType(2);
//宠物档案 todo
messageDO.setPetId(1l);
messageDO.setPetName("猫猫翻译");
messageDO.setPetAvatar("https://img1.baidu.com/it/u=1224902049,3440357835&fm=253&app=138&f=JPEG?w=801&h=800");
//获取当前最后的排序
AiDialogMessageDO aiDialogMessageDO = aiDialogMessageMapper.selectOne(new LambdaQueryWrapper<AiDialogMessageDO>()
.eq(AiDialogMessageDO::getDialogId, fileReqVo.getDialogId())
.orderByDesc(AiDialogMessageDO::getMessageOrder)
.last("limit 1")
);
messageDO.setMessageOrder(aiDialogMessageDO == null ? 1 : aiDialogMessageDO.getMessageOrder() + 1);
messageDO.setCreateTime(LocalDateTime.now());
}
int i = messageDO.getId()==null? aiDialogMessageMapper.insert(messageDO):aiDialogMessageMapper.updateById(messageDO);
TranslateRespVo bean = BeanUtils.toBean(messageDO, TranslateRespVo.class);
bean.setId(messageDO.getId());
@@ -111,6 +114,7 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
//调用大模型接口
String result = "";
try {
log.info(translateServer);
result = HttpRequest.post(translateServer).form("audio_data", HttpUtil.downloadBytes(file), fileName).timeout(20000) //20秒超时时间
.execute().body();
} catch (Exception e) {