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

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

@Data
public class AiivhMakeBroadcastTaskDTO {

    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;

    @NotEmpty(message="形象Key不能为空", groups = { Create.class })
    private String virtualman_key;

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

    @RangeStringArray(message="驱动类型取值有误，范围应是(Text, OriginalVoice, ModulatedVoice)", value = { "Text", "OriginalVoice", "ModulatedVoice" }, groups = { Create.class })
    private String driver_type;

    private String input_ssml;
    private String input_audio_url;

    private SpeechParamDTO speech_param;
    private VideoParamDTO video_param;

    private String task_status;
    private String task_reason;
    private String result_media_url;
    private String result_subitles_url;

    private String callback_url;

    private String create_time;
    private String update_time;
}
