客户管理功能调整, 音频模型调整
This commit is contained in:
160
src/main/java/com/rj/dto/AsrResponse.java
Normal file
160
src/main/java/com/rj/dto/AsrResponse.java
Normal file
@@ -0,0 +1,160 @@
|
||||
package com.rj.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 语音转文本响应DTO
|
||||
*
|
||||
* @author rj
|
||||
* @date 2025-01-02
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "语音转文本响应结果")
|
||||
public class AsrResponse {
|
||||
|
||||
/**
|
||||
* 是否成功
|
||||
*/
|
||||
@Schema(description = "是否成功")
|
||||
private boolean success;
|
||||
|
||||
/**
|
||||
* 消息
|
||||
*/
|
||||
@Schema(description = "响应消息")
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 识别结果文本
|
||||
*/
|
||||
@Schema(description = "识别结果文本")
|
||||
private String text;
|
||||
|
||||
/**
|
||||
* 识别结果列表(包含时间戳和说话人信息)
|
||||
*/
|
||||
@Schema(description = "识别结果列表")
|
||||
private List<AsrResult> results;
|
||||
|
||||
/**
|
||||
* 音频时长(秒)
|
||||
*/
|
||||
@Schema(description = "音频时长(秒)")
|
||||
private Double duration;
|
||||
|
||||
/**
|
||||
* 处理时间(毫秒)
|
||||
*/
|
||||
@Schema(description = "处理时间(毫秒)")
|
||||
private Long processingTimeMs;
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
@Schema(description = "任务ID")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 请求ID
|
||||
*/
|
||||
@Schema(description = "请求ID")
|
||||
private String requestId;
|
||||
|
||||
/**
|
||||
* 错误代码
|
||||
*/
|
||||
@Schema(description = "错误代码")
|
||||
private String errorCode;
|
||||
|
||||
/**
|
||||
* 错误信息
|
||||
*/
|
||||
@Schema(description = "错误信息")
|
||||
private String errorMessage;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(description = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 识别结果详情
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "识别结果详情")
|
||||
public static class AsrResult {
|
||||
|
||||
/**
|
||||
* 开始时间(秒)
|
||||
*/
|
||||
@Schema(description = "开始时间(秒)")
|
||||
private Double startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(秒)
|
||||
*/
|
||||
@Schema(description = "结束时间(秒)")
|
||||
private Double endTime;
|
||||
|
||||
/**
|
||||
* 识别文本
|
||||
*/
|
||||
@Schema(description = "识别文本")
|
||||
private String text;
|
||||
|
||||
/**
|
||||
* 说话人ID
|
||||
*/
|
||||
@Schema(description = "说话人ID")
|
||||
private String speakerId;
|
||||
|
||||
/**
|
||||
* 置信度
|
||||
*/
|
||||
@Schema(description = "置信度")
|
||||
private Double confidence;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建成功响应
|
||||
*/
|
||||
public static AsrResponse success(String text, List<AsrResult> results, Double duration,
|
||||
Long processingTimeMs, String taskId, String requestId) {
|
||||
AsrResponse response = new AsrResponse();
|
||||
response.setSuccess(true);
|
||||
response.setMessage("语音识别成功");
|
||||
response.setText(text);
|
||||
response.setResults(results);
|
||||
response.setDuration(duration);
|
||||
response.setProcessingTimeMs(processingTimeMs);
|
||||
response.setTaskId(taskId);
|
||||
response.setRequestId(requestId);
|
||||
response.setCreateTime(LocalDateTime.now());
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建错误响应
|
||||
*/
|
||||
public static AsrResponse error(String message) {
|
||||
return error(message, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建错误响应
|
||||
*/
|
||||
public static AsrResponse error(String message, String errorCode, String errorMessage) {
|
||||
AsrResponse response = new AsrResponse();
|
||||
response.setSuccess(false);
|
||||
response.setMessage(message);
|
||||
response.setErrorCode(errorCode);
|
||||
response.setErrorMessage(errorMessage);
|
||||
response.setCreateTime(LocalDateTime.now());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user