diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java index 94c17ea..967f9db 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java @@ -92,4 +92,13 @@ public class DeviceEntity implements Serializable { @TableField(value = "pro_id") private Integer proId; + @TableField(value = "latitude") + private Float latitude; + + @TableField(value = "longitude") + private Float longitude; + + @TableField(value = "height") + private Float height; + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java index 07ad409..78f0957 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java @@ -423,13 +423,16 @@ public class DeviceServiceImpl implements IDeviceService { .firmwareStatus(DeviceFirmwareStatusEnum.NOT_UPGRADE) .videoId(dockVideoId) .proId(ObjectUtil.isNotEmpty(entity.getProId())?entity.getProId():null) + .latitude(entity.getLatitude()) + .longitude(entity.getLongitude()) + .height(entity.getHeight()) .thingVersion(entity.getVersion()).build(); } catch (CloudSDKException e) { log.error(e.getLocalizedMessage() + "Entity: {}", entity); } DeviceDTO deviceDTO = builder.build(); if(deviceDTO.getDomain() != null && deviceDTO.getDomain().getDomain() == 3 && deviceDTO.getLatitude() != null){ - Optional deviceOsd = deviceRedisService.getDeviceOsd(entity.getDeviceSn(), OsdDockDrone.class); + Optional deviceOsd = deviceRedisService.getDeviceOsd(entity.getDeviceSn(), OsdDock.class); if(!deviceOsd.isEmpty()){ deviceDTO.setLatitude(deviceOsd.get().getLatitude()); deviceDTO.setLongitude(deviceOsd.get().getLongitude()); @@ -748,6 +751,9 @@ public class DeviceServiceImpl implements IDeviceService { .compatibleStatus(dto.getFirmwareStatus() == null ? null : DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != dto.getFirmwareStatus()) .deviceDesc(dto.getDeviceDesc()) + .latitude(dto.getLatitude()) + .longitude(dto.getLongitude()) + .height(dto.getHeight()) .proId(dto.getProId() == null ? null : dto.getProId()) .build(); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java index 47c00c9..51e43fa 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java @@ -167,6 +167,7 @@ public class SDKDeviceService extends AbstractDeviceService { && ((deviceOpt.get().getLatitude() == null && deviceOpt.get().getLongitude() == null)) || (request.getData().getLatitude() != deviceOpt.get().getLatitude() && request.getData().getLongitude() != deviceOpt.get().getLongitude())){ deviceOpt.get().setLatitude(request.getData().getLatitude()); deviceOpt.get().setLongitude(request.getData().getLongitude()); + deviceOpt.get().setHeight(request.getData().getHeight()); deviceRedisService.setDeviceOnline(deviceOpt.get()); deviceService.updateDevice(deviceOpt.get()); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java index 758bd5e..70c2321 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java @@ -133,8 +133,8 @@ public class WaylineJobController { public HttpResultResponse getJobIdByDeviceSn(@PathVariable(name = "workspace_id") String workspaceId, @RequestParam(name = "device_sn") String deviceSn, HttpServletRequest req, HttpServletResponse rsp) { Optional> runningWaylineJob = waylineRedisService.getRunningWaylineJob(deviceSn); - if(runningWaylineJob.isEmpty())HttpResultResponse.error("不存在"); - return HttpResultResponse.success(runningWaylineJob.get().getOutput().getExt().getFlightId()==null?runningWaylineJob.get().getOutput().getExt().getFlightId():null); + if(runningWaylineJob.isEmpty())return HttpResultResponse.error("不存在"); + return HttpResultResponse.success(runningWaylineJob.get().getOutput().getExt().getFlightId()!=null?runningWaylineJob.get().getOutput().getExt().getFlightId():null); } @GetMapping("/{workspace_id}/getJobFileUrlByDeviceSn")