feat: 新增取消任务
This commit is contained in:
parent
41ad507f68
commit
478f8c4549
@ -123,6 +123,35 @@ public class PrintController implements PrintService {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消单个任务
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @return 取消结果
|
||||
*/
|
||||
@DeleteMapping("queue/task/{taskId}")
|
||||
public Map<String, Object> cancelTask(@PathVariable String taskId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
boolean cancelled = printQueueService.cancelTask(taskId);
|
||||
if (cancelled) {
|
||||
result.put("success", true);
|
||||
result.put("message", "任务已取消");
|
||||
result.put("taskId", taskId);
|
||||
} else {
|
||||
result.put("success", false);
|
||||
result.put("message", "未找到指定任务");
|
||||
result.put("taskId", taskId);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "取消任务失败: " + e.getMessage());
|
||||
result.put("taskId", taskId);
|
||||
}
|
||||
result.put("timestamp", System.currentTimeMillis());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索打印任务
|
||||
*
|
||||
|
||||
@ -383,6 +383,30 @@ public class PrintQueueService {
|
||||
return clearedCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消指定任务
|
||||
* @param taskId 任务ID
|
||||
* @return 是否成功取消
|
||||
*/
|
||||
public boolean cancelTask(String taskId) {
|
||||
// 检查当前任务
|
||||
if (currentTask != null && taskId.equals(currentTask.getId())) {
|
||||
log.info("取消当前正在执行的任务: {}", taskId);
|
||||
currentTask.setStatus("cancelled");
|
||||
currentTask = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 从队列中移除任务
|
||||
boolean removed = printQueue.removeIf(task -> taskId.equals(task.getId()));
|
||||
if (removed) {
|
||||
log.info("成功从队列中取消任务: {}", taskId);
|
||||
} else {
|
||||
log.warn("未找到要取消的任务: {}", taskId);
|
||||
}
|
||||
return removed;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取历史服务实例
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user