diff --git a/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/dto/VehicleInfoDto.java b/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/dto/VehicleInfoDto.java index 19eedd5..45c9346 100644 --- a/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/dto/VehicleInfoDto.java +++ b/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/dto/VehicleInfoDto.java @@ -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; /** * 异常信息编码 diff --git a/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/service/impl/VehicleServiceImpl.java b/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/service/impl/VehicleServiceImpl.java index cbd55c1..29ee3b1 100644 --- a/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/service/impl/VehicleServiceImpl.java +++ b/nl-business-schedule/src/main/java/org/nl/schedule/modular/vehicle/service/impl/VehicleServiceImpl.java @@ -114,7 +114,7 @@ public class VehicleServiceImpl implements VehicleService { @Override public VehicleInfoDto getVehicleInfoByNumber(String vehicleNumber) { // 直接从缓存中获取 - return vehicleCache.get(vehicleNumber); + return ObjectUtil.isEmpty(vehicleCache.get(vehicleNumber)) ? new VehicleInfoDto() : vehicleCache.get(vehicleNumber); } @Override diff --git a/nl-business-task/src/main/java/org/nl/task/controller/TaskController.java b/nl-business-task/src/main/java/org/nl/task/controller/TaskController.java index 48c549b..22a0e22 100644 --- a/nl-business-task/src/main/java/org/nl/task/controller/TaskController.java +++ b/nl-business-task/src/main/java/org/nl/task/controller/TaskController.java @@ -42,6 +42,12 @@ public class TaskController { return new ResponseEntity<>(taskService.cancelTask(cancelTaskRequestParam), HttpStatus.OK); } + @PostMapping("/forceCancelTask") + @Log("强制取消任务") + public ResponseEntity forceCancelTask(@RequestBody @Validated CancelTaskRequestParam cancelTaskRequestParam){ + return new ResponseEntity<>(taskService.forceCancelTask(cancelTaskRequestParam), HttpStatus.OK); + } + @PostMapping("/pauseTask") @Log("暂停任务") public ResponseEntity pauseTask(@RequestBody @Validated PauseAndResumeTaskParam pauseAndResumeTaskParam){ diff --git a/nl-business-task/src/main/java/org/nl/task/service/TaskService.java b/nl-business-task/src/main/java/org/nl/task/service/TaskService.java index 272967b..31f96ad 100644 --- a/nl-business-task/src/main/java/org/nl/task/service/TaskService.java +++ b/nl-business-task/src/main/java/org/nl/task/service/TaskService.java @@ -32,6 +32,12 @@ public interface TaskService extends IService{ */ WebResponse cancelTask(CancelTaskRequestParam cancelTaskRequestParam); + /** + * 强制取消任务 + * @return WebResponse + */ + WebResponse forceCancelTask(CancelTaskRequestParam cancelTaskRequestParam); + /** * 暂停任务 * @return WebResponse diff --git a/nl-business-task/src/main/java/org/nl/task/service/impl/TaskServiceImpl.java b/nl-business-task/src/main/java/org/nl/task/service/impl/TaskServiceImpl.java index fa48a10..18e062c 100644 --- a/nl-business-task/src/main/java/org/nl/task/service/impl/TaskServiceImpl.java +++ b/nl-business-task/src/main/java/org/nl/task/service/impl/TaskServiceImpl.java @@ -199,6 +199,30 @@ public class TaskServiceImpl extends ServiceImpl 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) {