package com.backendsys.service.SDKService.SDKTencent;

import com.backendsys.entity.Tencent.TencentCustomserviceConfirmDTO;
import com.backendsys.entity.Tencent.TencentCustomserviceDTO;
import com.backendsys.entity.Tencent.VirtualmanLaunchDTO;

import java.util.List;
import java.util.Map;

/**
 * 腾讯云 数智人
 * https://xiaowei.cloud.tencent.com/
 */
public interface SDKTencentAiVirtualmanService {

    // 注：形象的初始化获取的数据，跟音色有所不同，音色是全部获取，形象是分开获取

    // [腾讯-数智人] 初始化 公共数智人列表 (使用空白账号) (注：有效期：2024/03/25-2024/04/08 过期后能否继续查询？)
    Map<String, Object> initPublicVirtualman(Integer pageIndex, Integer pageSize);
    // [腾讯-数智人] 初始化 定制数智人列表 (使用公司账号)
    Map<String, Object> initCustomVirtualman(Integer pageIndex, Integer pageSize);


    // [腾讯-数智人] 创建形象/音色定制任务 (定制形象和音色是同一个接口)
    Map<String, Object> makeVirtualTask(TencentCustomserviceDTO tencentCustomserviceDTO);
    // 同上 (增加排队机制)
    Map<String, Object> makeVirtualTaskQueue(TencentCustomserviceDTO tencentCustomserviceDTO);

    Map<String, Object> launchVirtualTaskQueue(VirtualmanLaunchDTO virtualmanLaunchDTO);

    // [腾讯-数智人] 查询形象/音色定制任务进度
    Map<String, Object> getProgressOfVirtualmanTask(String task_id);


    // [腾讯-数智人] 创建定制形象任务 (未提交)
    Map<String, Object> insertVirtualmanTask(TencentCustomserviceDTO tencentCustomserviceDTO);
    // [腾讯-数智人] 查询形象定制队列
    List<Map<String, Object>> getQueueOfVirtualmanTask(String task_id);


    // [腾讯-数智人] 确认形象/音色定制效果
    Map<String, Object> confirmVirtualmanTask(TencentCustomserviceConfirmDTO tencentCustomserviceConfirmDTO);



    //Map<String, Object> getCustomVirtualman(Integer pageNum, Integer pageSize);

    // [内部服务] 获得形象详细信息 (通过音色名称)
    Map<String, Object> getVirtualmanObject(String anchor_name);
}
