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

@@ -32,17 +32,17 @@ public class VehicleInfoDto{
/** /**
* 电量 * 电量
*/ */
private int batteryLevel; private Integer batteryLevel;
/** /**
* 冰容量 * 冰容量
*/ */
private int iceCapacity; private Integer iceCapacity;
/** /**
* 水容量 * 水容量
*/ */
private int waterCapacity; private Integer waterCapacity;
/** /**
* 信号类型 * 信号类型
@@ -52,7 +52,7 @@ public class VehicleInfoDto{
/** /**
* 信号强度 * 信号强度
*/ */
private int signalStrength; private Integer signalStrength;
/** /**
* 异常信息编码 * 异常信息编码

View File

@@ -114,7 +114,7 @@ public class VehicleServiceImpl implements VehicleService {
@Override @Override
public VehicleInfoDto getVehicleInfoByNumber(String vehicleNumber) { public VehicleInfoDto getVehicleInfoByNumber(String vehicleNumber) {
// 直接从缓存中获取 // 直接从缓存中获取
return vehicleCache.get(vehicleNumber); return ObjectUtil.isEmpty(vehicleCache.get(vehicleNumber)) ? new VehicleInfoDto() : vehicleCache.get(vehicleNumber);
} }
@Override @Override

View File

@@ -42,6 +42,12 @@ public class TaskController {
return new ResponseEntity<>(taskService.cancelTask(cancelTaskRequestParam), HttpStatus.OK); 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") @PostMapping("/pauseTask")
@Log("暂停任务") @Log("暂停任务")
public ResponseEntity<Object> pauseTask(@RequestBody @Validated PauseAndResumeTaskParam pauseAndResumeTaskParam){ public ResponseEntity<Object> pauseTask(@RequestBody @Validated PauseAndResumeTaskParam pauseAndResumeTaskParam){

View File

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

View File

@@ -199,6 +199,30 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
return WebResponse.requestOk(); 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public WebResponse pauseTask(PauseAndResumeTaskParam pauseAndResumeTaskParam) { public WebResponse pauseTask(PauseAndResumeTaskParam pauseAndResumeTaskParam) {