TTSResponseDTO.java 2.67 KB
package com.xly.tts.bean;

import com.xly.constant.ErrorCode;
import com.xly.constant.ReturnTypeCode;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import reactor.core.publisher.Flux;

import java.io.Serializable;

/**
 * TTS响应数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TTSResponseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 请求ID
     */
    private String requestId;

    /**
     * 【新加】缓存唯一KEY,用于多用户不冲突
     */
    private String cacheKey;

    /**
     * 状态码:200成功,其他失败
     */
    @Builder.Default
    private Integer code = ErrorCode.SUCCESS.getCode();

    /**
     * 状态消息
     */
    @Builder.Default
    private String message = "success";

    // 文字部分
    private String originalText;
    private String processedText;
    private String systemText;
    private String voice;
    private Long timestamp;
    private Integer textLength;

    // 音频部分(Base64编码或URL)
    private String audioBase64;
    private Integer audioSize;
    private String audioFormat;
    private String audioText;

    // 或者只返回音频URL
    private String audioUrl;
    private String sMsg;
    // 业务代码 例如报价 001
    private String sBusinessCode;
    //业务场景名称
    private String sSceneName;
    //业务方法名称
    private String sMethodName;
    //清除记忆提示
    private String sCommonts;

    private String sReturnType = ReturnTypeCode.MAKEDOWN.getCode();

    private Boolean ErpComplete;

    /**
     * 创建失败响应
     */
    public static TTSResponseDTO error(ErrorCode code) {
        return TTSResponseDTO.builder()
                .code(code.getCode())
                .message(code.getMessage())
                .timestamp(System.currentTimeMillis())
                .build();
    }

    public static TTSResponseDTO error(Integer code, String message) {
        return TTSResponseDTO.builder()
                .code(code != null ? code : 500)
                .message(message != null ? message : "系统错误")
                .timestamp(System.currentTimeMillis())
                .build();
    }

    /**
     * 创建失败响应
     */
    public static TTSResponseDTO error(String requestId, Integer code, String message) {
        return TTSResponseDTO.builder()
                .requestId(requestId)
                .code(code != null ? code : 500)
                .message(message != null ? message : "系统错误")
                .timestamp(System.currentTimeMillis())
                .build();
    }
}