From 39ffdf5754b4ebca682bd3c925f7a500e8a1bbda Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Thu, 08 Aug 2024 16:56:36 +0800
Subject: [PATCH] 国土调查云身份凭证token
---
src/main/java/com/dji/sample/manage/controller/DeviceController.java | 48 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/dji/sample/manage/controller/DeviceController.java b/src/main/java/com/dji/sample/manage/controller/DeviceController.java
index 602e8c9..3c608b3 100644
--- a/src/main/java/com/dji/sample/manage/controller/DeviceController.java
+++ b/src/main/java/com/dji/sample/manage/controller/DeviceController.java
@@ -74,16 +74,54 @@
}
/**
+ * 手动在线
+ * @param workspaceId
+ * @param receiver
+ * @return
+ */
+ @PostMapping("/{workspace_id}/deviceOnline")
+ public ResponseResult<List<DeviceDTO>> deviceOnline(@PathVariable("workspace_id") String workspaceId,
+ @RequestBody CommonTopicReceiver<StatusGatewayReceiver> receiver) {
+ boolean offline = deviceService.deviceOnline(receiver.getData());
+ if (offline) {
+ // Notify pilot that the device is offline successfully.
+ deviceService.publishStatusReply(receiver.getData().getSn(),
+ CommonTopicResponse.builder()
+ .tid(receiver.getTid())
+ .bid(receiver.getBid())
+ .timestamp(System.currentTimeMillis())
+ .method(receiver.getMethod())
+ .build());
+
+ }
+ return ResponseResult.success();
+ }
+
+ /**
* Get the topology list of all online devices in one workspace.
* @param workspaceId
* @return
*/
@GetMapping("/{workspace_id}/devices")
- public ResponseResult<List<DeviceDTO>> getDevices(@PathVariable("workspace_id") String workspaceId) {
- List<DeviceDTO> devicesList = deviceService.getDevicesTopoForWeb(workspaceId);
+ public ResponseResult<List<DeviceDTO>> getDevices(@PathVariable("workspace_id") String workspaceId,String reserveId) {
+ List<DeviceDTO> devicesList = deviceService.getDevicesTopoForWeb(workspaceId,reserveId);
return ResponseResult.success(devicesList);
}
+
+// @GetMapping("/{device_sn}/subscribeTopic2")
+// public ResponseResult<List<DeviceDTO>> testBinding(@PathVariable("device_sn") String deviceSn) {
+// deviceService.subscribeTopicOnline(deviceSn);
+//
+// return ResponseResult.success();
+// }
+//
+// @GetMapping("/{device_sn}/unsubscribeTopic2")
+// public ResponseResult<List<DeviceDTO>> testUnBinding(@PathVariable("device_sn") String deviceSn) {
+// deviceService.unsubscribeTopicOffline(deviceSn);
+//
+// return ResponseResult.success();
+// }
/**
* After binding the device to the workspace, the device data can only be seen on the web.
@@ -108,7 +146,7 @@
public ResponseResult getDevice(@PathVariable("workspace_id") String workspaceId,
@PathVariable("device_sn") String deviceSn) {
Optional<DeviceDTO> deviceOpt = deviceService.getDeviceBySn(deviceSn);
- return deviceOpt.isEmpty() ? ResponseResult.error("device not found.") : ResponseResult.success(deviceOpt.get());
+ return deviceOpt.isEmpty() ? ResponseResult.error("设备未找到") : ResponseResult.success(deviceOpt.get());
}
/**
@@ -120,7 +158,7 @@
*/
@GetMapping("/{workspace_id}/devices/bound")
public ResponseResult<PaginationData<DeviceDTO>> getBoundDevicesWithDomain(
- @PathVariable("workspace_id") String workspaceId, String domain,
+ @PathVariable("workspace_id") String workspaceId, Integer domain,
@RequestParam(defaultValue = "1") Long page,
@RequestParam(value = "page_size", defaultValue = "50") Long pageSize) {
PaginationData<DeviceDTO> devices = deviceService.getBoundDevicesWithDomain(workspaceId, page, pageSize, domain);
@@ -189,4 +227,4 @@
deviceService.devicePropertySet(workspaceId, dockSn, propertyEnumOpt.get(), param.get(property));
return ResponseResult.success();
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3