package top.continew.admin.business.service;

import top.continew.admin.business.model.entity.TaskRecordHistoryDO;
import top.continew.admin.business.model.query.TaskRecordHistoryQuery;
import top.continew.admin.business.model.req.TaskRecordHistoryAddReq;
import top.continew.admin.business.model.req.TaskRecordHistoryEditReq;
import top.continew.admin.business.model.resp.TaskRecordHistoryResp;
import top.continew.starter.data.mp.service.IService;
import top.continew.starter.extension.crud.model.query.PageQuery;
import top.continew.starter.extension.crud.model.resp.PageResp;
import java.util.List;

/**
 * 音视图文生成记录业务接口
 *
 * @author jiay
 * @since 2025/05/23 07:51
 */
public interface TaskRecordHistoryService extends IService<TaskRecordHistoryDO> {

    /**
     * 获取音视图文生成记录列表
     *
     * @param query 音视图文生成记录查询条件
     * @return 音视图文生成记录列表
     */
    List<TaskRecordHistoryResp> getTaskRecordHistoryList(TaskRecordHistoryQuery query);

    /**
     * 添加音视图文生成记录
     *
     * @param req 音视图文生成记录
     * @return url
     */
    List<String> addTaskRecordHistory(TaskRecordHistoryAddReq req);

    /**
     * 添加音视图文生成记录
     *
     * @param req 音视图文生成记录
     * @return 添加是否成功
     */
    boolean editTaskRecordHistory(TaskRecordHistoryEditReq req);

    /**
     * 添加音视图文生成记录
     *
     * @param id 音视图文生成记录id
     * @return 添加是否成功
     */
    boolean deleteTaskRecordHistory(Long id);

    /**
     * 添加音视图文生成记录
     *
     * @param id 音视图文生成记录id
     * @return 音视图文生成记录
     */
    TaskRecordHistoryResp getTaskRecordHistory(Long id);

    /**
     * 添加音视图文生成记录
     *
     * @param query     音视图文生成记录查询条件
     * @param pageQuery 分页参数
     * @return 音视图文生成记录分页列表
     */
    PageResp<TaskRecordHistoryResp> getTaskRecordHistoryPage(TaskRecordHistoryQuery query, PageQuery pageQuery);

}