Commit 3d0c0b65702610c79bdb3d53dbb8310fa5558042

Authored by xp.Huang
2 parents 110561dd 9a61cfa1

Merge branch '20230426' into 'master_dev'

20230426

See merge request yunteng/thingskit!184
... ... @@ -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);
... ...
... ... @@ -535,7 +535,7 @@ public class TcpTransportHandler extends ChannelInboundHandlerAdapter implements
535 535 * @return
536 536 */
537 537 private ChannelFuture pushDeviceMsg(ChannelHandlerContext ctx, String message) {
538   - byte[] payloadInBytes = ByteUtils.strToBytes(message);
  538 + byte[] payloadInBytes = ByteUtils.strToBytes(StringUtils.isEmpty(message)?"":message);
539 539 ByteBuf payload = Unpooled.copiedBuffer(payloadInBytes);
540 540
541 541 return ctx.writeAndFlush(payload);
... ...
... ... @@ -68,7 +68,7 @@
68 68 </resultMap>
69 69
70 70 <sql id="basicColumns">
71   - ifd.id,ifd.gateway_id
  71 + ifd.id,ifd.gateway_id,ifd.code
72 72 ,ifd.sn,ifd.brand,ifd.name,ifd.alias,ifd.device_info,ifd.profile_id,ifd.device_profile_id,ifd.active_time,ifd.tenant_id,ifd.description
73 73 ,ifd.tb_device_id,ifd.label,ifd.last_connect_time,ifd.device_type,ifd.device_state,ifd.create_time,ifd.update_time,ifd.creator,
74 74 ifd.updater,ifd.organization_id,ifd.alarm_status
... ...