Commit 051b2a4b34a0747323601fbe3b4c3f2f7324c256

Authored by 云中非
1 parent 6c095b29

fix(DEFECT-932): 自动创建网关子设备时,使用默认设备配置。

... ... @@ -98,6 +98,7 @@ import org.thingsboard.server.queue.common.TbProtoQueueMsg;
98 98 import org.thingsboard.server.queue.util.TbCoreComponent;
99 99 import org.thingsboard.server.service.apiusage.TbApiUsageStateService;
100 100 import org.thingsboard.server.service.executors.DbCallbackExecutorService;
  101 +import org.thingsboard.server.service.install.DefaultSystemDataLoaderService;
101 102 import org.thingsboard.server.service.profile.TbDeviceProfileCache;
102 103 import org.thingsboard.server.service.resource.TbResourceService;
103 104
... ... @@ -303,7 +304,7 @@ public class DefaultTransportApiService implements TransportApiService {
303 304 device.setName(requestMsg.getDeviceName());
304 305 device.setType(requestMsg.getDeviceType());
305 306 device.setCustomerId(gateway.getCustomerId());
306   - DeviceProfile deviceProfile = deviceProfileCache.findOrCreateDeviceProfile(gateway.getTenantId(), requestMsg.getDeviceType());
  307 + DeviceProfile deviceProfile = deviceProfileCache.findOrCreateDeviceProfile(gateway.getTenantId(), DefaultSystemDataLoaderService.DEFAULT_DEVICE_TYPE);
307 308 device.setDeviceProfileId(deviceProfile.getId());
308 309 ObjectNode additionalInfo = JacksonUtil.newObjectNode();
309 310 additionalInfo.put(DataConstants.LAST_CONNECTED_GATEWAY, gatewayId.toString());
... ... @@ -312,7 +313,7 @@ public class DefaultTransportApiService implements TransportApiService {
312 313
313 314
314 315 //Thingskit function
315   - ytDeviceService.saveSlaveDevice(savedDevice.getId().getId().toString(), savedDevice.getName(), gateway.getId().getId().toString(),gateway.getCreatedTime());
  316 + ytDeviceService.saveSlaveDevice(savedDevice.getId().getId().toString(), savedDevice.getName(),deviceProfile.getId().getId().toString(), gateway.getId().getId().toString(),gateway.getCreatedTime());
316 317
317 318
318 319 tbClusterService.onDeviceUpdated(savedDevice, null);
... ...
... ... @@ -44,6 +44,7 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev
44 44 implements TkDeviceService {
45 45
46 46 private final DeviceProfileDao deviceProfileDao;
  47 + private final TkDeviceProfileMapper tkProfileMapper;
47 48
48 49 private final OrganizationMapper tkOrganizationMapper;
49 50 private final SceneLinkageMapper sceneLinkageMapper;
... ... @@ -491,7 +492,7 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev
491 492
492 493 @Override
493 494 public boolean saveSlaveDevice(
494   - String slaveId, String slaveName, String gatewayId, Long createTime) {
  495 + String slaveId, String slaveName, String tbProfileId, String gatewayId, Long createTime) {
495 496 LambdaQueryWrapper<TkDeviceEntity> deviceFilter =
496 497 new QueryWrapper<TkDeviceEntity>().lambda().eq(TkDeviceEntity::getTbDeviceId, gatewayId);
497 498 TkDeviceEntity gateway = baseMapper.selectOne(deviceFilter);
... ... @@ -505,7 +506,9 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev
505 506 JacksonUtil.toJsonNode(
506 507 "{\"avatar\": \"\",\"longitude\": \"\",\"latitude\": \"\",\"address\": \"\"}"));
507 508
508   - slaveDevice.setProfileId(gateway.getProfileId());
  509 + DeviceProfileDTO profileDTO = tkProfileMapper.selectDetail(gateway.getTenantId(),tbProfileId);
  510 + slaveDevice.setProfileId(profileDTO.getTbProfileId());
  511 + slaveDevice.setDeviceProfileId(profileDTO.getId());
509 512 slaveDevice.setGatewayId(gateway.getId());
510 513 slaveDevice.setOrganizationId(gateway.getOrganizationId());
511 514 slaveDevice.setTenantId(gateway.getTenantId());
... ...
... ... @@ -156,7 +156,7 @@ public interface TkDeviceService extends BaseService<TkDeviceEntity> {
156 156 * @param gatewayId 网关设备TB平台的ID
157 157 * @return
158 158 */
159   - boolean saveSlaveDevice(String slaveId, String slaveName, String gatewayId, Long createTime);
  159 + boolean saveSlaveDevice(String slaveId, String slaveName, String tbProfileId,String gatewayId, Long createTime);
160 160
161 161 /**
162 162 * 通过设备ids查询设备信息列表
... ...