修改数据
This commit is contained in:
parent
be9fed1b06
commit
b6c2149ba5
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.device.controller;
|
package com.ruoyi.device.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.web.controller.BaseController;
|
import com.ruoyi.common.core.web.controller.BaseController;
|
||||||
import com.ruoyi.device.api.domain.*;
|
import com.ruoyi.device.api.domain.*;
|
||||||
|
|
@ -248,7 +249,7 @@ public class AircraftFlyController extends BaseController
|
||||||
{
|
{
|
||||||
|
|
||||||
// Long taskId = flightService.createClickTakeOffTask(request.getSn(),airlineFileUrl);
|
// Long taskId = flightService.createClickTakeOffTask(request.getSn(),airlineFileUrl);
|
||||||
log.info("一键起飞,生成一键起飞任务 sn={} ", request.getSn());
|
log.info("一键起飞,生成一键起飞任务 {} ", JSON.toJSONString(request));
|
||||||
try {
|
try {
|
||||||
java.util.Map<String, Object> params = new java.util.HashMap<>();
|
java.util.Map<String, Object> params = new java.util.HashMap<>();
|
||||||
params.put("airlineFileUrl", airlineFileUrl);
|
params.put("airlineFileUrl", airlineFileUrl);
|
||||||
|
|
@ -258,18 +259,18 @@ public class AircraftFlyController extends BaseController
|
||||||
CommandResult result = future.get();
|
CommandResult result = future.get();
|
||||||
|
|
||||||
if (result.isSuccess()) {
|
if (result.isSuccess()) {
|
||||||
log.info("无人机起飞成功: sn={}", request.getSn());
|
log.info("无人机起飞命令发送成功: sn={}", request.getSn());
|
||||||
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.CHECKING);
|
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.CHECKING);
|
||||||
return R.ok("起飞命令执行成功");
|
return R.ok("无人机起飞命令发送成功");
|
||||||
} else {
|
} else {
|
||||||
log.error("无人机起飞失败: sn={}, reason={}", request.getSn(), result.getErrorMessage());
|
log.error("无人机起飞命令发送失败: sn={}, reason={}", request.getSn(), result.getErrorMessage());
|
||||||
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED);
|
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED);
|
||||||
return R.fail("起飞命令执行失败: " + result.getErrorMessage());
|
return R.fail("无人机起飞命令发送失败: " + result.getErrorMessage());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("无人机起飞异常: sn={}", request.getSn(), e);
|
log.error("无人机起飞命令发送失败: sn={}", request.getSn(), e);
|
||||||
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED);
|
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED);
|
||||||
return R.fail("起飞命令执行异常: " + e.getMessage());
|
return R.fail("无人机起飞命令发送失败: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -116,38 +116,38 @@ public class FlightServiceImpl implements FlightService
|
||||||
public void updateFlightStatus(Long flightId,StatusEnum status) {
|
public void updateFlightStatus(Long flightId,StatusEnum status) {
|
||||||
|
|
||||||
remoteTaskService.updateTaskStatus(flightId,status,SecurityConstants.INNER);
|
remoteTaskService.updateTaskStatus(flightId,status,SecurityConstants.INNER);
|
||||||
// flightMapper.updateFlightStatus(flightId, status);
|
|
||||||
// log.info("更新飞行状态: flightId={}, status={}", flightId, status);
|
|
||||||
//
|
|
||||||
// if ("HOME".equals(status) ||"ERROR".equals(status)) {
|
|
||||||
// flightMapper.updateReturnTime(flightId);
|
|
||||||
// log.info("更新返航时间: flightId={}", flightId);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void updateReturnTime(Long flightId) {
|
|
||||||
// flightMapper.updateReturnTime(flightId);
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> getLatestFlightWithLogs(String deviceSn) {
|
public Map<String, Object> getLatestFlightWithLogs(String deviceSn) {
|
||||||
FlightEntity flight = flightMapper.selectLatestFlightByDeviceSn(deviceSn);
|
|
||||||
if (flight == null) {
|
R<TaskVO> taskVo = remoteTaskService.getCurrentTaskByUavId(deviceSn,SecurityConstants.INNER);
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
result.put("flightId", flight.getFlightId());
|
if(taskVo.getData()!=null){
|
||||||
result.put("deviceSn", flight.getDeviceSn());
|
TaskVO task = taskVo.getData();
|
||||||
result.put("flightIdExternal", flight.getFlightIdExternal());
|
|
||||||
result.put("status", flight.getStatus());
|
|
||||||
result.put("returnTime", flight.getReturnTime());
|
|
||||||
result.put("createTime", flight.getCreateTime());
|
|
||||||
|
|
||||||
List<PreCheckLogEntity> preCheckLogs = preCheckLogMapper.selectPreCheckLogListByFlightId(flight.getFlightId());
|
|
||||||
|
result.put("flightId", task.getId());
|
||||||
|
result.put("deviceSn", deviceSn);
|
||||||
|
result.put("status", task.getStatus());
|
||||||
|
result.put("returnTime", task.getActualEndTime());
|
||||||
|
result.put("createTime", task.getActualStartTime());
|
||||||
|
|
||||||
|
List<PreCheckLogEntity> preCheckLogs = preCheckLogMapper.selectPreCheckLogListByFlightId(task.getId());
|
||||||
List<Map<String, Object>> preCheckLogsWithExecTime = new ArrayList<>();
|
List<Map<String, Object>> preCheckLogsWithExecTime = new ArrayList<>();
|
||||||
Date prevTime = flight.getCreateTime();
|
|
||||||
|
Long execTime = null;
|
||||||
|
if (!preCheckLogs.isEmpty() && preCheckLogs.size() > 1) {
|
||||||
|
Date firstTime = preCheckLogs.get(0).getCreateTime();
|
||||||
|
Date lastTime = preCheckLogs.get(preCheckLogs.size() - 1).getCreateTime();
|
||||||
|
if (firstTime != null && lastTime != null) {
|
||||||
|
execTime = lastTime.getTime() - firstTime.getTime();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (PreCheckLogEntity log : preCheckLogs) {
|
for (PreCheckLogEntity log : preCheckLogs) {
|
||||||
Map<String, Object> logMap = new HashMap<>();
|
Map<String, Object> logMap = new HashMap<>();
|
||||||
|
|
@ -157,19 +157,16 @@ public class FlightServiceImpl implements FlightService
|
||||||
logMap.put("success", log.getSuccess());
|
logMap.put("success", log.getSuccess());
|
||||||
logMap.put("createTime", log.getCreateTime());
|
logMap.put("createTime", log.getCreateTime());
|
||||||
logMap.put("updateTime", log.getUpdateTime());
|
logMap.put("updateTime", log.getUpdateTime());
|
||||||
|
|
||||||
if (log.getCreateTime() != null && prevTime != null) {
|
|
||||||
logMap.put("execTime", log.getCreateTime().getTime() - prevTime.getTime());
|
|
||||||
prevTime = log.getCreateTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
preCheckLogsWithExecTime.add(logMap);
|
preCheckLogsWithExecTime.add(logMap);
|
||||||
}
|
}
|
||||||
|
result.put("execTime", execTime);
|
||||||
result.put("preCheckLogs", preCheckLogsWithExecTime);
|
result.put("preCheckLogs", preCheckLogsWithExecTime);
|
||||||
|
|
||||||
List<FlightLogEntity> flightLogs = flightLogMapper.selectFlightLogListByFlightId(flight.getFlightId());
|
List<FlightLogEntity> flightLogs = flightLogMapper.selectFlightLogListByFlightId(task.getId());
|
||||||
result.put("flightLogs", flightLogs);
|
result.put("flightLogs", flightLogs);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue