package com.mes.service; import com.mes.entity.PlcTestTask; import java.util.List; /** * PLC测试任务服务接口 * * @author huang * @date 2025/11/04 */ public interface PlcTestTaskService { /** * 创建新任务 * @param task 任务信息 * @return 保存后的任务 */ PlcTestTask createTask(PlcTestTask task); /** * 根据id查询任务 * @param id 任务主键ID * @return 任务信息 */ PlcTestTask getTaskById(Long id); /** * 查询项目的所有任务 * @param projectId 项目ID * @return 任务列表 */ List getTasksByProjectId(String projectId); /** * 查询项目的运行中任务 * @param projectId 项目ID * @return 运行中任务列表 */ List getRunningTasks(String projectId); /** * 更新任务状态 * @param id 任务主键ID * @param status 新状态(PENDING|RUNNING|SUCCESS|FAILED|STOPPED) * @return 是否更新成功 */ boolean updateTaskStatus(Long id, String status); /** * 任务完成:更新状态、结束时间、耗时等 * @param id 任务主键ID * @param status 完成状态(SUCCESS|FAILED|STOPPED) * @param duration 耗时(毫秒) * @param result 测试结果(JSON字符串) * @param errorMessage 错误信息 * @return 是否更新成功 */ boolean completeTask(Long id, String status, Integer duration, String result, String errorMessage); /** * 删除任务 * @param id 任务主键ID * @return 是否删除成功 */ boolean deleteTask(Long id); }