package com.rj.service;

import com.rj.dto.VideoSynthesisRequestDto;
import com.rj.entity.VideoSynthesisLog;

/**
 * 视频合成服务接口
 * 
 * @author rj
 * @date 2025-01-02
 */
public interface IVideoSynthesisService {

    /**
     * 执行视频合成并保存日志
     * 
     * @param request 视频合成请求
     * @return 视频合成日志
     */
    VideoSynthesisLog synthesizeVideoAndSave(VideoSynthesisRequestDto request);

    /**
     * 保存视频合成日志
     * 
     * @param log 视频合成日志
     * @return 是否保存成功
     */
    boolean saveVideoSynthesisLog(VideoSynthesisLog log);

    /**
     * 根据请求ID查询视频合成日志
     * 
     * @param requestId 请求ID
     * @return 视频合成日志
     */
    VideoSynthesisLog getVideoSynthesisLogByRequestId(String requestId);

    /**
     * 根据任务ID查询视频合成日志
     * 
     * @param taskId 任务ID
     * @return 视频合成日志
     */
    VideoSynthesisLog getVideoSynthesisLogByTaskId(String taskId);
}
