opt:1.增加强制取消任务功能。2.优化未获取到数据时推送websocket空字段问题。
This commit is contained in:
@@ -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;
|
||||
|
||||
/**
|
||||
* 异常信息编码
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -32,6 +32,12 @@ public interface TaskService extends IService<Task>{
|
||||
*/
|
||||
WebResponse cancelTask(CancelTaskRequestParam cancelTaskRequestParam);
|
||||
|
||||
/**
|
||||
* 强制取消任务
|
||||
* @return WebResponse
|
||||
*/
|
||||
WebResponse forceCancelTask(CancelTaskRequestParam cancelTaskRequestParam);
|
||||
|
||||
/**
|
||||
* 暂停任务
|
||||
* @return WebResponse
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user