opt:1.增加强制取消任务功能。2.优化未获取到数据时推送websocket空字段问题。

This commit is contained in:
2026-04-21 11:08:39 +08:00
parent 9498380c6f
commit f0459c0a02
5 changed files with 41 additions and 5 deletions

View File

@@ -42,6 +42,12 @@ public class TaskController {
return new ResponseEntity<>(taskService.cancelTask(cancelTaskRequestParam), HttpStatus.OK);
}
@PostMapping("/forceCancelTask")
@Log("强制取消任务")
public ResponseEntity<Object> forceCancelTask(@RequestBody @Validated CancelTaskRequestParam cancelTaskRequestParam){
return new ResponseEntity<>(taskService.forceCancelTask(cancelTaskRequestParam), HttpStatus.OK);
}
@PostMapping("/pauseTask")
@Log("暂停任务")
public ResponseEntity<Object> pauseTask(@RequestBody @Validated PauseAndResumeTaskParam pauseAndResumeTaskParam){

View File

@@ -32,6 +32,12 @@ public interface TaskService extends IService<Task>{
*/
WebResponse cancelTask(CancelTaskRequestParam cancelTaskRequestParam);
/**
* 强制取消任务
* @return WebResponse
*/
WebResponse forceCancelTask(CancelTaskRequestParam cancelTaskRequestParam);
/**
* 暂停任务
* @return WebResponse

View File

@@ -199,6 +199,30 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
return WebResponse.requestOk();
}
@Override
public WebResponse forceCancelTask(CancelTaskRequestParam cancelTaskRequestParam) {
try {
if (StrUtil.isBlank(cancelTaskRequestParam.getTask_code())){
throw new BadRequestException(LangProcess.msg("task_code_empty"));
}
HttpResponse result = scheduleTaskAPI.cancelTask(cancelTaskRequestParam.getTask_code());
if (result == null || !result.isOk()){
log.info("取消调度任务失败");
}
taskMapper.update(new LambdaUpdateWrapper<>(Task.class)
.set(Task::getStatus,TaskStatusEnum.CANCELED.getCode())
.eq(Task::getTask_code,cancelTaskRequestParam.getTask_code())
);
}catch (Exception e){
log.error("强制取消任务失败:{}",e.getMessage());
throw new BadRequestException(LangProcess.msg("task_cancel_failed",e.getMessage()));
}
return WebResponse.requestOk();
}
@Override
@Transactional(rollbackFor = Exception.class)
public WebResponse pauseTask(PauseAndResumeTaskParam pauseAndResumeTaskParam) {