package com.backendsys.entity.Ai.Aiivh.AiivhMakeBroadcastAudioTask;

import com.backendsys.entity.validator.RangeFloat;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

@Data
public class AiivhMakeBroadcastAudioTaskDTO {

    public static interface Detail{}
    public static interface Create{}
    public static interface Update{}
    public static interface Delete{}

    private Long id;
    private String request_id;
    @NotEmpty(message="任务ID不能为空", groups = { Detail.class, Delete.class })
    private String task_id;
    private Long user_id;

    private String virtualman_key;
    private String timbre_key;

    @NotEmpty(message="播报名称不能为空", groups = { Create.class })
    private String title;
    @NotEmpty(message="播报的文本内容不能为空", groups = { Create.class })
    private String input_ssml;

    @RangeFloat(min = 0.5, max = 1.5, message = "语速范围须在 {min} 到 {max} 之间", groups = { Create.class })
    private Float speed;

    private String task_status;
    private String task_reason;
    private String result_media_url;
    private Long result_media_duration;
    private String result_subitles_url;

    private String create_time;
    private String update_time;

}
