调整 ai模块
This commit is contained in:
@@ -76,15 +76,15 @@ DROP TABLE IF EXISTS `tz_ai_dialog`;
|
|||||||
CREATE TABLE `tz_ai_dialog`
|
CREATE TABLE `tz_ai_dialog`
|
||||||
(
|
(
|
||||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
`title` varchar(128) NULL DEFAULT '' COMMENT '对话标题',
|
`title` varchar(128) DEFAULT '' COMMENT '对话标题',
|
||||||
`user_id` bigint NOT NULL COMMENT '用户id',
|
`user_id` bigint NOT NULL COMMENT '用户id',
|
||||||
`dialog_status` int(8) NULL COMMENT '对话状态(1active, 2archived, 3deleted)',
|
`dialog_status` int DEFAULT NULL COMMENT '对话状态(1active, 2archived, 3deleted)',
|
||||||
`creator` varchar(64) NULL DEFAULT '' COMMENT '创建者',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updater` varchar(64) NULL DEFAULT '' COMMENT '更新者',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB COMMENT ='ai-对话表';
|
) ENGINE = InnoDB COMMENT ='ai-对话表';
|
||||||
|
|
||||||
@@ -93,10 +93,20 @@ CREATE TABLE `tz_ai_dialog_message`
|
|||||||
(
|
(
|
||||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
`dialog_id` bigint NOT NULL COMMENT '对话id',
|
`dialog_id` bigint NOT NULL COMMENT '对话id',
|
||||||
`content_text` varchar(64) NULL DEFAULT '' COMMENT '内容',
|
`content_text` text COMMENT '内容',
|
||||||
`content_type` int(8) NULL COMMENT '文本类型(1text,2image,3file,4audio)',
|
`content_type` int DEFAULT NULL COMMENT '文本类型(1text,2file)',
|
||||||
`message_order` int(8) NULL COMMENT '对话中的顺序',
|
`message_order` int DEFAULT NULL COMMENT '对话中的顺序',
|
||||||
`message_status` int(8) NULL COMMENT '消息状态 1正常 0删除',
|
`message_status` int DEFAULT NULL COMMENT '消息状态 1正常 0删除',
|
||||||
|
`pet_id` bigint DEFAULT NULL COMMENT '宠物id',
|
||||||
|
`pet_name` varchar(255) DEFAULT NULL COMMENT '宠物名称',
|
||||||
|
`pet_avatar` varchar(255) DEFAULT NULL COMMENT '宠物头像',
|
||||||
|
`pet_type` varchar(64) DEFAULT NULL COMMENT '宠物类型',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`trans_result` text COMMENT '回答结果',
|
||||||
|
`content_duration` bigint DEFAULT NULL COMMENT '文件时长',
|
||||||
|
`trans_status` int DEFAULT NULL COMMENT '翻译状态(1成功 0失败)',
|
||||||
|
`source_result` text COMMENT '原始结果',
|
||||||
|
`file_name` varchar(255) DEFAULT NULL COMMENT '文件名称',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB COMMENT ='ai-对话消息表';
|
) ENGINE = InnoDB COMMENT ='ai-对话消息表';
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,10 @@ public class AiDialogMessageRespVo {
|
|||||||
* 翻译结果
|
* 翻译结果
|
||||||
*/
|
*/
|
||||||
private String transResult;
|
private String transResult;
|
||||||
|
/**
|
||||||
|
* 翻译结果
|
||||||
|
*/
|
||||||
|
private Integer transStatus;
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -32,6 +32,10 @@ public class AiDialogMessageDO {
|
|||||||
* 内容
|
* 内容
|
||||||
*/
|
*/
|
||||||
private String contentText;
|
private String contentText;
|
||||||
|
/**
|
||||||
|
* 文件名
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
/**
|
/**
|
||||||
* 文件时长
|
* 文件时长
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -75,13 +75,16 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
|||||||
if (messageDO == null) {
|
if (messageDO == null) {
|
||||||
messageDO = new AiDialogMessageDO();
|
messageDO = new AiDialogMessageDO();
|
||||||
}
|
}
|
||||||
|
String fileName =StrUtil.isBlank(messageDO.getFileName())?fileReqVo.getFile().getOriginalFilename():messageDO.getFileName();
|
||||||
//上传文件获取文件地址
|
//上传文件获取文件地址
|
||||||
String fileName = fileReqVo.getFile().getOriginalFilename();
|
String fileUrl =StrUtil.isBlank(messageDO.getContentText())? fileServer + fileApi.createFile(fileName,"",fileReqVo.getFile().getBytes()):messageDO.getContentText();
|
||||||
String fileUrl = fileServer + fileApi.createFile(fileReqVo.getFile().getBytes());
|
log.info(fileUrl);
|
||||||
//翻译结果
|
//翻译结果
|
||||||
translate(messageDO,fileUrl, fileName);
|
translate(messageDO,fileUrl, fileName);
|
||||||
|
|
||||||
//创建消息 持久化消息
|
//创建消息 持久化消息
|
||||||
|
if (messageDO.getId()==null){
|
||||||
|
messageDO.setFileName(fileName);
|
||||||
messageDO.setDialogId(fileReqVo.getDialogId());
|
messageDO.setDialogId(fileReqVo.getDialogId());
|
||||||
messageDO.setContentDuration(fileReqVo.getContentDuration());
|
messageDO.setContentDuration(fileReqVo.getContentDuration());
|
||||||
|
|
||||||
@@ -91,7 +94,6 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
|||||||
messageDO.setPetId(1l);
|
messageDO.setPetId(1l);
|
||||||
messageDO.setPetName("猫猫翻译");
|
messageDO.setPetName("猫猫翻译");
|
||||||
messageDO.setPetAvatar("https://img1.baidu.com/it/u=1224902049,3440357835&fm=253&app=138&f=JPEG?w=801&h=800");
|
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>()
|
AiDialogMessageDO aiDialogMessageDO = aiDialogMessageMapper.selectOne(new LambdaQueryWrapper<AiDialogMessageDO>()
|
||||||
.eq(AiDialogMessageDO::getDialogId, fileReqVo.getDialogId())
|
.eq(AiDialogMessageDO::getDialogId, fileReqVo.getDialogId())
|
||||||
@@ -100,6 +102,7 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
|||||||
);
|
);
|
||||||
messageDO.setMessageOrder(aiDialogMessageDO == null ? 1 : aiDialogMessageDO.getMessageOrder() + 1);
|
messageDO.setMessageOrder(aiDialogMessageDO == null ? 1 : aiDialogMessageDO.getMessageOrder() + 1);
|
||||||
messageDO.setCreateTime(LocalDateTime.now());
|
messageDO.setCreateTime(LocalDateTime.now());
|
||||||
|
}
|
||||||
int i = messageDO.getId()==null? aiDialogMessageMapper.insert(messageDO):aiDialogMessageMapper.updateById(messageDO);
|
int i = messageDO.getId()==null? aiDialogMessageMapper.insert(messageDO):aiDialogMessageMapper.updateById(messageDO);
|
||||||
TranslateRespVo bean = BeanUtils.toBean(messageDO, TranslateRespVo.class);
|
TranslateRespVo bean = BeanUtils.toBean(messageDO, TranslateRespVo.class);
|
||||||
bean.setId(messageDO.getId());
|
bean.setId(messageDO.getId());
|
||||||
@@ -111,6 +114,7 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
|||||||
//调用大模型接口
|
//调用大模型接口
|
||||||
String result = "";
|
String result = "";
|
||||||
try {
|
try {
|
||||||
|
log.info(translateServer);
|
||||||
result = HttpRequest.post(translateServer).form("audio_data", HttpUtil.downloadBytes(file), fileName).timeout(20000) //20秒超时时间
|
result = HttpRequest.post(translateServer).form("audio_data", HttpUtil.downloadBytes(file), fileName).timeout(20000) //20秒超时时间
|
||||||
.execute().body();
|
.execute().body();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user