Commit 732e9fdf61d795dc5d8e658a37158e02a2347be6

Authored by 芯火源
1 parent 5784e85a

fix: 网关子设备使用设备地址吗进行鉴权

... ... @@ -291,21 +291,25 @@ public class DefaultTransportApiService implements TransportApiService {
291 291 Lock deviceCreationLock = deviceCreationLocks.computeIfAbsent(requestMsg.getDeviceName(), id -> new ReentrantLock());
292 292 deviceCreationLock.lock();
293 293 try {
294   - Device device = deviceService.findDeviceByTenantIdAndName(gateway.getTenantId(), requestMsg.getDeviceName());
295 294
296   - if (device == null) {
297   -
298   -
299   -
300   - //Thingskit function
301   - if(gateway.getDeviceData().getTransportConfiguration().getType() == DeviceTransportType.TCP) {
  295 + //Thingskit function
  296 + String slaveName = requestMsg.getDeviceName();
  297 + if(gateway.getDeviceData().getTransportConfiguration().getType() == DeviceTransportType.TCP) {
  298 + DeviceDTO iotDev = ytDeviceService.findSlaveDevice(gateway.getTenantId().getId().toString()
  299 + , gateway.getId().getId().toString()
  300 + ,slaveName);
  301 + if(iotDev == null ){
302 302 GetOrCreateDeviceFromGatewayResponseMsg.Builder builder = GetOrCreateDeviceFromGatewayResponseMsg.newBuilder();
303 303 return TransportApiResponseMsg.newBuilder()
304 304 .setGetOrCreateDeviceResponseMsg(builder.build())
305 305 .build();
306   - }
  306 + }
  307 + slaveName = iotDev.getName();
  308 + }
307 309
  310 + Device device = deviceService.findDeviceByTenantIdAndName(gateway.getTenantId(), slaveName);
308 311
  312 + if (device == null) {
309 313 TenantId tenantId = gateway.getTenantId();
310 314 device = new Device();
311 315 device.setTenantId(tenantId);
... ...