package com.ygtx.web.service;

import com.ygtx.common.core.domain.ice.IcePendingTaskRequest;
import com.ygtx.common.core.domain.ice.IcePendingTaskResponse;
import com.ygtx.common.core.domain.ice.IcePendingTaskStatusRequest;

/**
 * ICE待办任务服务接口
 *
 * @author ygt
 */
public interface IcePendingTaskService
{
    /**
     * 推送待办消息到ICE
     *
     * @param request 待办消息请求对象
     * @return 响应结果
     */
    IcePendingTaskResponse sendPendingTask(IcePendingTaskRequest request);

    /**
     * 批量推送待办消息到ICE
     *
     * @param requestList 待办消息请求对象列表
     * @return 成功推送的数量
     */
    int batchSendPendingTask(java.util.List<IcePendingTaskRequest> requestList);

    /**
     * 更新待办任务状态
     *
     * @param request 状态变更请求对象
     * @return 响应结果
     */
    IcePendingTaskResponse updatePendingTaskStatus(IcePendingTaskStatusRequest request);

    /**
     * 根据任务ID取消待办任务
     *
     * @param taskId 任务ID
     * @param systemId 系统ID
     * @return 响应结果
     */
    IcePendingTaskResponse cancelPendingTask(String taskId, String systemId);
}