Commit 47514ea199bcf3a327cc1a40b864ebf87bde702c

Authored by 云中非
1 parent 6250d482

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

... ... @@ -28,30 +28,13 @@ import org.springframework.security.core.Authentication;
28 28 import org.springframework.security.core.context.SecurityContextHolder;
29 29 import org.springframework.web.bind.annotation.ExceptionHandler;
30 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 32 import org.thingsboard.server.common.data.alarm.Alarm;
51 33 import org.thingsboard.server.common.data.alarm.AlarmInfo;
52 34 import org.thingsboard.server.common.data.asset.Asset;
53 35 import org.thingsboard.server.common.data.asset.AssetInfo;
54 36 import org.thingsboard.server.common.data.audit.ActionType;
  37 +import org.thingsboard.server.common.data.device.profile.*;
55 38 import org.thingsboard.server.common.data.edge.Edge;
56 39 import org.thingsboard.server.common.data.edge.EdgeEventActionType;
57 40 import org.thingsboard.server.common.data.edge.EdgeEventType;
... ... @@ -919,4 +902,29 @@ public abstract class BaseController {
919 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 }
... ...