From f0459c0a02fd7d0b25533105ae7083c675f493ab Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Tue, 21 Apr 2026 11:08:39 +0800 Subject: [PATCH] =?UTF-8?q?opt:1.=E5=A2=9E=E5=8A=A0=E5=BC=BA=E5=88=B6?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=BB=BB=E5=8A=A1=E5=8A=9F=E8=83=BD=E3=80=82?= =?UTF-8?q?2.=E4=BC=98=E5=8C=96=E6=9C=AA=E8=8E=B7=E5=8F=96=E5=88=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=97=B6=E6=8E=A8=E9=80=81websocket=E7=A9=BA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/vehicle/dto/VehicleInfoDto.java | 8 +++---- .../service/impl/VehicleServiceImpl.java | 2 +- .../nl/task/controller/TaskController.java | 6 +++++ .../java/org/nl/task/service/TaskService.java | 6 +++++ .../nl/task/service/impl/TaskServiceImpl.java | 24 +++++++++++++++++++ 5 files changed, 41 insertions(+), 5 deletions(-) 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) {