Commit 47514ea199bcf3a327cc1a40b864ebf87bde702c

Authored by 云中非
1 parent 6250d482

feat: 抽取构建产品传输配置的方法

@@ -28,30 +28,13 @@ import org.springframework.security.core.Authentication; @@ -28,30 +28,13 @@ import org.springframework.security.core.Authentication;
28 import org.springframework.security.core.context.SecurityContextHolder; 28 import org.springframework.security.core.context.SecurityContextHolder;
29 import org.springframework.web.bind.annotation.ExceptionHandler; 29 import org.springframework.web.bind.annotation.ExceptionHandler;
30 import org.thingsboard.server.cluster.TbClusterService; 30 import org.thingsboard.server.cluster.TbClusterService;
31 -import org.thingsboard.server.common.data.Customer;  
32 -import org.thingsboard.server.common.data.Dashboard;  
33 -import org.thingsboard.server.common.data.DashboardInfo;  
34 -import org.thingsboard.server.common.data.Device;  
35 -import org.thingsboard.server.common.data.DeviceInfo;  
36 -import org.thingsboard.server.common.data.DeviceProfile;  
37 -import org.thingsboard.server.common.data.EntityType;  
38 -import org.thingsboard.server.common.data.EntityView;  
39 -import org.thingsboard.server.common.data.EntityViewInfo;  
40 -import org.thingsboard.server.common.data.HasName;  
41 -import org.thingsboard.server.common.data.HasTenantId;  
42 -import org.thingsboard.server.common.data.OtaPackage;  
43 -import org.thingsboard.server.common.data.OtaPackageInfo;  
44 -import org.thingsboard.server.common.data.TbResource;  
45 -import org.thingsboard.server.common.data.TbResourceInfo;  
46 -import org.thingsboard.server.common.data.Tenant;  
47 -import org.thingsboard.server.common.data.TenantInfo;  
48 -import org.thingsboard.server.common.data.TenantProfile;  
49 -import org.thingsboard.server.common.data.User; 31 +import org.thingsboard.server.common.data.*;
50 import org.thingsboard.server.common.data.alarm.Alarm; 32 import org.thingsboard.server.common.data.alarm.Alarm;
51 import org.thingsboard.server.common.data.alarm.AlarmInfo; 33 import org.thingsboard.server.common.data.alarm.AlarmInfo;
52 import org.thingsboard.server.common.data.asset.Asset; 34 import org.thingsboard.server.common.data.asset.Asset;
53 import org.thingsboard.server.common.data.asset.AssetInfo; 35 import org.thingsboard.server.common.data.asset.AssetInfo;
54 import org.thingsboard.server.common.data.audit.ActionType; 36 import org.thingsboard.server.common.data.audit.ActionType;
  37 +import org.thingsboard.server.common.data.device.profile.*;
55 import org.thingsboard.server.common.data.edge.Edge; 38 import org.thingsboard.server.common.data.edge.Edge;
56 import org.thingsboard.server.common.data.edge.EdgeEventActionType; 39 import org.thingsboard.server.common.data.edge.EdgeEventActionType;
57 import org.thingsboard.server.common.data.edge.EdgeEventType; 40 import org.thingsboard.server.common.data.edge.EdgeEventType;
@@ -919,4 +902,29 @@ public abstract class BaseController { @@ -919,4 +902,29 @@ public abstract class BaseController {
919 return MediaType.APPLICATION_OCTET_STREAM; 902 return MediaType.APPLICATION_OCTET_STREAM;
920 } 903 }
921 } 904 }
  905 +
  906 + /**
  907 + * 构建设备配置的配置数据
  908 + * @param transportType 产品的通信协议
  909 + * @param deviceProfileData 空的设备配置数据
  910 + * @param transportConfiguration 传输配置
  911 + * @param scriptText 自定义数据协议的解析脚本
  912 + */
  913 + protected void buildDeviceProfileData(String transportType,DeviceProfileData deviceProfileData,DeviceProfileTransportConfiguration transportConfiguration,String scriptText) {
  914 + deviceProfileData.setConfiguration(new DefaultDeviceProfileConfiguration());
  915 + deviceProfileData.setProvisionConfiguration(new DisabledDeviceProfileProvisionConfiguration(null));
  916 +
  917 + // 传输类型默认都是Default
  918 + if(transportType ==null || DeviceTransportType.DEFAULT.name().equals(transportType)){
  919 + deviceProfileData.setTransportConfiguration(new DefaultDeviceProfileTransportConfiguration());
  920 + }else if(DeviceTransportType.TCP.name().equals(transportType)){
  921 + YtTcpDeviceProfileTransportConfiguration tcpDeviceProfileTransportConfiguration = (YtTcpDeviceProfileTransportConfiguration) transportConfiguration;
  922 + String scriptId = tcpDeviceProfileTransportConfiguration.getScriptId();
  923 + tcpDeviceProfileTransportConfiguration.setPingText(scriptText);
  924 + deviceProfileData.setTransportConfiguration(tcpDeviceProfileTransportConfiguration);
  925 + }else{
  926 + deviceProfileData.setTransportConfiguration(transportConfiguration);
  927 + }
  928 +
  929 + }
922 } 930 }