Commit 051b2a4b34a0747323601fbe3b4c3f2f7324c256
1 parent
6c095b29
fix(DEFECT-932): 自动创建网关子设备时,使用默认设备配置。
Showing
3 changed files
with
9 additions
and
5 deletions
... | ... | @@ -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查询设备信息列表 | ... | ... |