ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
@@ -351,6 +351,7 @@
        // subDevice.setPayloadsList(payloadService.getDevicePayloadEntitiesByDeviceSn(gateway.getChildDeviceSn()));
    }
    //region 单独写一个方法做权限验证,由于有好多定时任务也在实时获取设备列表,原方法不适用再添加权限注解
    @Override
    public List<DeviceDTO> getDockList() {
        List<DeviceDTO> devicesList = this.getDockListByParams(
@@ -368,27 +369,21 @@
    @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()),
@@ -412,6 +407,7 @@
                .map(this::deviceEntityConvertToDTO)
                .collect(Collectors.toList());
    }
    //endregion
    @Override
    public Optional<TopologyDeviceDTO> getDeviceTopoForPilot(String sn) {
@@ -1105,18 +1101,18 @@
                        .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());
//        }
    }