| | |
| | | // subDevice.setPayloadsList(payloadService.getDevicePayloadEntitiesByDeviceSn(gateway.getChildDeviceSn())); |
| | | } |
| | | |
| | | //region 单独写一个方法做权限验证,由于有好多定时任务也在实时获取设备列表,原方法不适用再添加权限注解 |
| | | @Override |
| | | public List<DeviceDTO> getDockList() { |
| | | List<DeviceDTO> devicesList = this.getDockListByParams( |
| | |
| | | |
| | | @Override |
| | | public void spliceDeviceTopoPer(DeviceDTO gateway) { |
| | | |
| | | gateway.setStatus(RedisOpsUtils.checkExist(RedisConst.DEVICE_ONLINE_PREFIX + gateway.getDeviceSn())); |
| | | |
| | | // sub device |
| | | if (!StringUtils.hasText(gateway.getChildDeviceSn())) { |
| | | return; |
| | | } |
| | | |
| | | DeviceDTO subDevice = |
| | | getDevicesByParams(DeviceQueryParam.builder().deviceSn(gateway.getChildDeviceSn()).build()).get(0); |
| | | subDevice.setStatus(RedisOpsUtils.checkExist(RedisConst.DEVICE_ONLINE_PREFIX + subDevice.getDeviceSn())); |
| | | gateway.setChildren(subDevice); |
| | | |
| | | // payloads |
| | | // subDevice.setPayloadsList(payloadService.getDevicePayloadEntitiesByDeviceSn(gateway.getChildDeviceSn())); |
| | | } |
| | | |
| | | //@DataScope(deptAlias = "d") |
| | | |
| | | @Override |
| | | public List<DeviceDTO> getDockListByParams(DeviceQueryParam param){ |
| | | |
| | | // 在mapper中添加查询方法做权限验证 |
| | | return mapper.selectListPer( |
| | | new LambdaQueryWrapper<DeviceEntity>() |
| | | .eq(StringUtils.hasText(param.getDeviceSn()), |
| | |
| | | .map(this::deviceEntityConvertToDTO) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | //endregion |
| | | |
| | | @Override |
| | | public Optional<TopologyDeviceDTO> getDeviceTopoForPilot(String sn) { |
| | |
| | | .build(), |
| | | 2); |
| | | |
| | | while (true) { |
| | | reply = (Map<String, Object>) reply.get(value.getKey()); |
| | | if (value.getValue() instanceof JsonNode) { |
| | | break; |
| | | } |
| | | value = (Map.Entry) value.getValue(); |
| | | } |
| | | |
| | | SetReply setReply = objectMapper.convertValue(reply, SetReply.class); |
| | | if (SetReplyStatusResultEnum.SUCCESS.getVal() != setReply.getResult()) { |
| | | throw new RuntimeException("Failed to set " + value.getKey() + "; Error Code: " + setReply.getResult()); |
| | | } |
| | | // 接收返回信息在serviceReply中,订阅thing/product/7CTDLCE00A1UPE/property/set_reply上报的信息,此处不处理 |
| | | // while (true) { |
| | | // reply = (Map<String, Object>) reply.get(value.getKey()); |
| | | // if (value.getValue() instanceof JsonNode) { |
| | | // break; |
| | | // } |
| | | // value = (Map.Entry) value.getValue(); |
| | | // } |
| | | // SetReply setReply = objectMapper.convertValue(reply, SetReply.class); |
| | | // if (SetReplyStatusResultEnum.SUCCESS.getVal() != setReply.getResult()) { |
| | | // throw new RuntimeException("Failed to set " + value.getKey() + "; Error Code: " + setReply.getResult()); |
| | | // } |
| | | |
| | | } |
| | | |