转写交给本地大模型处理, java代码不处理这部分逻辑
This commit is contained in:
@@ -61,7 +61,7 @@ public class AudioFileController {
|
|||||||
@Value("${app.audio.upload.path:uploads/audio}")
|
@Value("${app.audio.upload.path:uploads/audio}")
|
||||||
private String uploadPath;
|
private String uploadPath;
|
||||||
|
|
||||||
@Value("${app.audio.upload.yihangyi.path:/usr/local/tomcat/webapps/yihangyi}")
|
@Value("${app.audio.upload.yihangyi.path:/home/lizh/java_env/AIDriverEEBackend/audio/yihangyi}")
|
||||||
private String yihangyiUploadPath;
|
private String yihangyiUploadPath;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -291,7 +291,8 @@ public class AudioFileController {
|
|||||||
break;
|
break;
|
||||||
case "AudioText":
|
case "AudioText":
|
||||||
log.info("收到语音转写数据,设备号: {}", requestBody.get("deviceNo"));
|
log.info("收到语音转写数据,设备号: {}", requestBody.get("deviceNo"));
|
||||||
processResult = handleAudioTextDataType(requestBody);
|
// 收到语音转写数据 , 不再处理: 保存数据库 ,用python 处理
|
||||||
|
// processResult = handleAudioTextDataType(requestBody);
|
||||||
break;
|
break;
|
||||||
case "LoginLog":
|
case "LoginLog":
|
||||||
log.info("收到登录日志数据,设备号: {}", requestBody.get("deviceNo"));
|
log.info("收到登录日志数据,设备号: {}", requestBody.get("deviceNo"));
|
||||||
@@ -344,7 +345,7 @@ public class AudioFileController {
|
|||||||
// 再次尝试获取文件(如果之前没有获取到),没有保存
|
// 再次尝试获取文件(如果之前没有获取到),没有保存
|
||||||
MultipartFile audioFile = extractFileFromMultipartRequest(request, file);
|
MultipartFile audioFile = extractFileFromMultipartRequest(request, file);
|
||||||
|
|
||||||
// 关联上传的文件到audio_management表
|
// 关联上传的文件到audio_management表 ,计算录音总时长 ,标记为 服务开始 的记录不能超过 1 天
|
||||||
associateAudioManagement(requestBody);
|
associateAudioManagement(requestBody);
|
||||||
|
|
||||||
// 处理Audio数据 验证文件、保存文件到本地、保存信息到数据库, 计算录音 总时长 ,标记为 服务结束
|
// 处理Audio数据 验证文件、保存文件到本地、保存信息到数据库, 计算录音 总时长 ,标记为 服务结束
|
||||||
@@ -1818,14 +1819,14 @@ public class AudioFileController {
|
|||||||
|
|
||||||
List<AudioManagement> audioList = serviceManager.getAudioManagementService().list(audioQuery);
|
List<AudioManagement> audioList = serviceManager.getAudioManagementService().list(audioQuery);
|
||||||
|
|
||||||
// 检查audioList中updateTime大于1天的记录,更新serviceStatus为"服务结束"
|
// 检查audioList中updateTime大于12小时的记录,更新serviceStatus为"服务结束" , 更新录音总时长
|
||||||
if (audioList != null && !audioList.isEmpty()) {
|
if (audioList != null && !audioList.isEmpty()) {
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
for (AudioManagement audio : audioList) {
|
for (AudioManagement audio : audioList) {
|
||||||
if (audio.getUpdateTime() != null) {
|
if (audio.getUpdateTime() != null) {
|
||||||
// 计算时间差(天数)
|
// 计算时间差(天数)
|
||||||
long daysBetween = ChronoUnit.HOURS.between(audio.getUpdateTime(), now);
|
long daysBetween = ChronoUnit.HOURS.between(audio.getUpdateTime(), now);
|
||||||
if (daysBetween >= 1) {
|
if (daysBetween >= 12) {
|
||||||
LambdaQueryWrapper<AudioManagementSegments> audioQuery2 = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<AudioManagementSegments> audioQuery2 = new LambdaQueryWrapper<>();
|
||||||
audioQuery2.eq(AudioManagementSegments::getParentId, audio.getId()) ; // 关联这个id的所有录音片段
|
audioQuery2.eq(AudioManagementSegments::getParentId, audio.getId()) ; // 关联这个id的所有录音片段
|
||||||
List<AudioManagementSegments> segmentsList = audioManagementSegmentsService.list(audioQuery2);
|
List<AudioManagementSegments> segmentsList = audioManagementSegmentsService.list(audioQuery2);
|
||||||
@@ -1837,7 +1838,7 @@ public class AudioFileController {
|
|||||||
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH_SYS);
|
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH_SYS);
|
||||||
audio.setDuration(total);
|
audio.setDuration(total);
|
||||||
serviceManager.getAudioManagementService().updateById(audio);
|
serviceManager.getAudioManagementService().updateById(audio);
|
||||||
log.info("更新audio_management记录状态为服务结束,ID: {}, updateTime: {}, 距离现在: {}天",
|
log.info("更新audio_management记录状态为服务结束,ID: {}, updateTime: {}, 距离现在: {}小时",
|
||||||
audio.getId(), audio.getUpdateTime(), daysBetween);
|
audio.getId(), audio.getUpdateTime(), daysBetween);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1864,7 +1865,7 @@ public class AudioFileController {
|
|||||||
total.add(segment2.getDuration());//分钟
|
total.add(segment2.getDuration());//分钟
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!audio.getId().equals(audioManagementId) ) {
|
if (!audio.getId().equals(audioManagementId) ) {// 除了最新的记录,其他记录的service_status改为"服务结束"
|
||||||
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH_SYS);
|
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH_SYS);
|
||||||
audio.setUpdateTime(LocalDateTime.now());
|
audio.setUpdateTime(LocalDateTime.now());
|
||||||
audio.setDuration(total);
|
audio.setDuration(total);
|
||||||
|
|||||||
@@ -82,11 +82,11 @@ spring:
|
|||||||
datasource:
|
datasource:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
# tcpKeepAlive:TCP 层定期发保活包,降低 NAT/防火墙 idle 断连(常见约 15 分钟)概率
|
# tcpKeepAlive:TCP 层定期发保活包,降低 NAT/防火墙 idle 断连(常见约 15 分钟)概率
|
||||||
url: jdbc:mysql://124.221.59.58:3309/ai_smart_ee?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&tcpKeepAlive=true&socketTimeout=60000&connectTimeout=30000&autoReconnect=true&failOverReadOnly=false&maxReconnects=3&initialTimeout=2
|
# url: jdbc:mysql://124.221.59.58:3309/ai_smart_ee?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&tcpKeepAlive=true&socketTimeout=60000&connectTimeout=30000&autoReconnect=true&failOverReadOnly=false&maxReconnects=3&initialTimeout=2
|
||||||
# url: jdbc:mysql://101.35.52.237:13307/ai_smart_badge?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tcpKeepAlive=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=3&initialTimeout=2&connectTimeout=30000&socketTimeout=60000
|
url: jdbc:mysql://192.168.1.44:3309/ai_smart_ee?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tcpKeepAlive=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=3&initialTimeout=2&connectTimeout=30000&socketTimeout=60000
|
||||||
username: root
|
username: root
|
||||||
# password: cstcom.123!
|
password: cstcom.123!
|
||||||
password: ChangAndb.123!
|
# password: ChangAndb.123!
|
||||||
hikari:
|
hikari:
|
||||||
# 连接池大小配置
|
# 连接池大小配置
|
||||||
maximumPoolSize: 10
|
maximumPoolSize: 10
|
||||||
@@ -206,6 +206,13 @@ asr:
|
|||||||
default-format: wav
|
default-format: wav
|
||||||
# 默认采样率
|
# 默认采样率
|
||||||
default-sample-rate: 16000
|
default-sample-rate: 16000
|
||||||
|
# OpenAI 兼容 ASR(如 vLLM 部署的 Qwen3-ASR,POST /v1/audio/transcriptions)
|
||||||
|
# 接口 /transcribe-openai-compatible 的 audioFilePath 指本应用进程所在服务器的本地路径
|
||||||
|
vllm-openai-asr:
|
||||||
|
enabled: true
|
||||||
|
base-url: http://101.35.52.237:17001/v1
|
||||||
|
api-key: EMPTY
|
||||||
|
model: Qwen3-ASR-1.7B
|
||||||
|
|
||||||
|
|
||||||
springdoc:
|
springdoc:
|
||||||
@@ -243,13 +250,13 @@ dify:
|
|||||||
# MinIO 对象存储配置
|
# MinIO 对象存储配置
|
||||||
minio:
|
minio:
|
||||||
# MinIO服务器地址
|
# MinIO服务器地址
|
||||||
endpoint: http://101.35.52.237:19005
|
endpoint: http://101.35.52.237:19100
|
||||||
# 访问密钥
|
# 访问密钥
|
||||||
access-key: minioadmin
|
access-key: minioadmin
|
||||||
# 秘密密钥
|
# 秘密密钥
|
||||||
secret-key: minioadmin
|
secret-key: minioadmin
|
||||||
# 默认存储桶名称
|
# 默认存储桶名称
|
||||||
bucket-name: car
|
bucket-name: cst
|
||||||
|
|
||||||
# SiliconFlow API 配置
|
# SiliconFlow API 配置
|
||||||
siliconflow:
|
siliconflow:
|
||||||
|
|||||||
Reference in New Issue
Block a user