| | |
| | | } |
| | | |
| | | /** |
| | | * 手动在线 |
| | | * @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. |
| | |
| | | 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()); |
| | | } |
| | | |
| | | /** |
| | |
| | | deviceService.devicePropertySet(workspaceId, dockSn, propertyEnumOpt.get(), param.get(property)); |
| | | return ResponseResult.success(); |
| | | } |
| | | } |
| | | } |