package com.cmvr.aima.service; import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; import com.cmvr.aima.domain.AimaTaskInstance; import com.cmvr.aima.domain.dto.AimaTaskInstanceQuery; import com.cmvr.aima.domain.vo.AimaTaskInstanceVo; /** * 爱玛任务执行实例Service接口 * * @author cmvr-iot * @since 2026-06-22 */ public interface IAimaTaskInstanceService extends IService { AimaTaskInstance selectAimaTaskInstanceById(String id); List selectAimaTaskInstanceList(AimaTaskInstance aimaTaskInstance); List selectAimaTaskInstanceVoList(AimaTaskInstanceQuery query); int insertAimaTaskInstance(AimaTaskInstance aimaTaskInstance); int updateAimaTaskInstance(AimaTaskInstance aimaTaskInstance); int deleteAimaTaskInstanceByIds(String[] ids); int deleteAimaTaskInstanceById(String id); /** * 开始执行任务实例 * * @param id 任务实例ID * @return 结果 */ int startInstance(String id); /** * 暂停任务实例 * * @param id 任务实例ID * @return 结果 */ int pauseInstance(String id); /** * 终止任务实例 * * @param id 任务实例ID * @return 结果 */ int stopInstance(String id); /** * 恢复任务实例(从暂停恢复为执行中) * * @param id 任务实例ID * @return 结果 */ int resumeInstance(String id); /** * 更新任务实例进度 * * @param instanceId 任务实例ID * @param progress 执行进度(百分比,保留2位小数) */ void updateProgress(String instanceId, Double progress); }