add:1.增加后台管理强制取消任务接口。2.修改设置车辆冰量和水量逻辑。3.增加OTA远程更新功能。4.补充国际化。5.增加调度任务不存在同步取消数据库任务。
This commit is contained in:
@@ -102,6 +102,13 @@ public class TaskAPIProvider implements TaskAPI {
|
||||
return taskService.cancelTask(param);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebResponse forceCancelTask(String taskCode) {
|
||||
CancelTaskRequestParam param = new CancelTaskRequestParam();
|
||||
param.setTask_code(taskCode);
|
||||
return taskService.forceCancelTask(param);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebResponse queryTaskInfoByRoom(String room) {
|
||||
// 获取当前存在的任务
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.nl.task.param.*;
|
||||
import org.nl.task.service.TaskService;
|
||||
import org.nl.util.IdUtil;
|
||||
import org.nl.util.TaskCodeGeneratorUtil;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -91,27 +92,33 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
|
||||
Collectors.toList()
|
||||
));
|
||||
for (Task task : taskList) {
|
||||
HttpResponse result = scheduleTaskAPI.queryTaskStatusByTaskId(task.getTask_code());
|
||||
if (result == null || !result.isOk()){
|
||||
log.info("获取调度任务状态失败");
|
||||
continue;
|
||||
}
|
||||
JSONObject scheduleTaskStatusJSON = JSONObject.parseObject(result.body());
|
||||
String scheduleTaskState = scheduleTaskStatusJSON.getString("state");
|
||||
String newTaskState = "";
|
||||
if (ScheduleTaskStatusEnum.FINISHED.name().equals(scheduleTaskState)){
|
||||
newTaskState = TaskStatusEnum.FINISHED.getCode();
|
||||
} else if (ScheduleTaskStatusEnum.isFinalState(scheduleTaskState)) {
|
||||
newTaskState = TaskStatusEnum.CANCELED.getCode();
|
||||
task.setRemark("无路由或取消:" + scheduleTaskState);
|
||||
} else if (ScheduleTaskStatusEnum.BEING_PROCESSED.name().equals(scheduleTaskState)) {
|
||||
newTaskState = TaskStatusEnum.EXECUTING.getCode();
|
||||
// 充电和加水任务的目标点是调度分配的,在查询任务状态时更新目标点。
|
||||
if (StrUtil.isBlank(task.getDestinations()) && ObjectUtil.isNotEmpty(scheduleTaskStatusJSON.getJSONArray("destinations"))){
|
||||
JSONObject destination = scheduleTaskStatusJSON.getJSONArray("destinations").getJSONObject(0);
|
||||
task.setDestinations(destination.getString("locationName"));
|
||||
HttpResponse result = scheduleTaskAPI.queryTaskStatusByTaskId(task.getTask_code());
|
||||
if (result.isOk()){
|
||||
JSONObject scheduleTaskStatusJSON = JSONObject.parseObject(result.body());
|
||||
String scheduleTaskState = scheduleTaskStatusJSON.getString("state");
|
||||
|
||||
if (ScheduleTaskStatusEnum.FINISHED.name().equals(scheduleTaskState)){
|
||||
newTaskState = TaskStatusEnum.FINISHED.getCode();
|
||||
} else if (ScheduleTaskStatusEnum.isFinalState(scheduleTaskState)) {
|
||||
newTaskState = TaskStatusEnum.CANCELED.getCode();
|
||||
task.setRemark("无路由或取消:" + scheduleTaskState);
|
||||
} else if (ScheduleTaskStatusEnum.BEING_PROCESSED.name().equals(scheduleTaskState)) {
|
||||
newTaskState = TaskStatusEnum.EXECUTING.getCode();
|
||||
// 充电和加水任务的目标点是调度分配的,在查询任务状态时更新目标点。
|
||||
if (StrUtil.isBlank(task.getDestinations()) && ObjectUtil.isNotEmpty(scheduleTaskStatusJSON.getJSONArray("destinations"))){
|
||||
JSONObject destination = scheduleTaskStatusJSON.getJSONArray("destinations").getJSONObject(0);
|
||||
task.setDestinations(destination.getString("locationName"));
|
||||
}
|
||||
task.setProcessingVehicle(scheduleTaskStatusJSON.getString("processingVehicle"));
|
||||
}
|
||||
}else {
|
||||
log.info("获取调度任务状态失败");
|
||||
// status = 404 调度返回未找到该任务 任务状态更新成已取消
|
||||
if (result.getStatus() == HttpStatus.NOT_FOUND.value()){
|
||||
newTaskState = TaskStatusEnum.CANCELED.getCode();
|
||||
task.setRemark("调度不存在该任务");
|
||||
}
|
||||
task.setProcessingVehicle(scheduleTaskStatusJSON.getString("processingVehicle"));
|
||||
}
|
||||
// 任务状态改变 进行更新
|
||||
if (StrUtil.isNotBlank(newTaskState) && !newTaskState.equals(task.getStatus())){
|
||||
|
||||
Reference in New Issue
Block a user