转写交给本地大模型处理, java代码不处理这部分逻辑

This commit is contained in:
2026-03-29 10:09:47 +08:00
parent 1c102acef9
commit 8801b70891
2 changed files with 21 additions and 13 deletions

View File

@@ -61,7 +61,7 @@ public class AudioFileController {
@Value("${app.audio.upload.path:uploads/audio}")
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;
@Autowired
@@ -291,7 +291,8 @@ public class AudioFileController {
break;
case "AudioText":
log.info("收到语音转写数据,设备号: {}", requestBody.get("deviceNo"));
processResult = handleAudioTextDataType(requestBody);
// 收到语音转写数据 不再处理: 保存数据库 用python 处理
// processResult = handleAudioTextDataType(requestBody);
break;
case "LoginLog":
log.info("收到登录日志数据,设备号: {}", requestBody.get("deviceNo"));
@@ -344,7 +345,7 @@ public class AudioFileController {
// 再次尝试获取文件(如果之前没有获取到),没有保存
MultipartFile audioFile = extractFileFromMultipartRequest(request, file);
// 关联上传的文件到audio_management表
// 关联上传的文件到audio_management表 ,计算录音总时长 ,标记为 服务开始 的记录不能超过 1 天
associateAudioManagement(requestBody);
// 处理Audio数据 验证文件、保存文件到本地、保存信息到数据库, 计算录音 总时长 ,标记为 服务结束
@@ -1818,14 +1819,14 @@ public class AudioFileController {
List<AudioManagement> audioList = serviceManager.getAudioManagementService().list(audioQuery);
// 检查audioList中updateTime大于1的记录更新serviceStatus为"服务结束"
// 检查audioList中updateTime大于12小时的记录更新serviceStatus为"服务结束" 更新录音总时长
if (audioList != null && !audioList.isEmpty()) {
LocalDateTime now = LocalDateTime.now();
for (AudioManagement audio : audioList) {
if (audio.getUpdateTime() != null) {
// 计算时间差(天数)
long daysBetween = ChronoUnit.HOURS.between(audio.getUpdateTime(), now);
if (daysBetween >= 1) {
if (daysBetween >= 12) {
LambdaQueryWrapper<AudioManagementSegments> audioQuery2 = new LambdaQueryWrapper<>();
audioQuery2.eq(AudioManagementSegments::getParentId, audio.getId()) ; // 关联这个id的所有录音片段
List<AudioManagementSegments> segmentsList = audioManagementSegmentsService.list(audioQuery2);
@@ -1837,7 +1838,7 @@ public class AudioFileController {
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH_SYS);
audio.setDuration(total);
serviceManager.getAudioManagementService().updateById(audio);
log.info("更新audio_management记录状态为服务结束ID: {}, updateTime: {}, 距离现在: {}",
log.info("更新audio_management记录状态为服务结束ID: {}, updateTime: {}, 距离现在: {}小时",
audio.getId(), audio.getUpdateTime(), daysBetween);
}
}
@@ -1864,7 +1865,7 @@ public class AudioFileController {
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.setUpdateTime(LocalDateTime.now());
audio.setDuration(total);

View File

@@ -82,11 +82,11 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# tcpKeepAliveTCP 层定期发保活包,降低 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://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://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://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
# password: cstcom.123!
password: ChangAndb.123!
password: cstcom.123!
# password: ChangAndb.123!
hikari:
# 连接池大小配置
maximumPoolSize: 10
@@ -206,6 +206,13 @@ asr:
default-format: wav
# 默认采样率
default-sample-rate: 16000
# OpenAI 兼容 ASR如 vLLM 部署的 Qwen3-ASRPOST /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:
@@ -243,13 +250,13 @@ dify:
# MinIO 对象存储配置
minio:
# MinIO服务器地址
endpoint: http://101.35.52.237:19005
endpoint: http://101.35.52.237:19100
# 访问密钥
access-key: minioadmin
# 秘密密钥
secret-key: minioadmin
# 默认存储桶名称
bucket-name: car
bucket-name: cst
# SiliconFlow API 配置
siliconflow: