Commit cefa5a474f8b2ef9957de83e516cb638dd94f2b2

Authored by 芯火源
2 parents 19c4252c 460d7a63

Merge branch 'master_dev' into 20230525

1 package org.thingsboard.server.common.data.yunteng.dto; 1 package org.thingsboard.server.common.data.yunteng.dto;
2 2
  3 +import com.fasterxml.jackson.databind.JsonNode;
3 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
4 import lombok.Data; 5 import lombok.Data;
5 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
6 import org.thingsboard.server.common.data.yunteng.dto.board.ComponentLayoutDTO; 7 import org.thingsboard.server.common.data.yunteng.dto.board.ComponentLayoutDTO;
7 -import org.thingsboard.server.common.data.yunteng.dto.board.DataSourceInfoDTO;  
8 -  
9 -import java.util.List;  
10 8
11 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
12 @Data 10 @Data
@@ -21,7 +19,7 @@ public class DataComponentDTO extends TenantDTO { @@ -21,7 +19,7 @@ public class DataComponentDTO extends TenantDTO {
21 private String frontId; 19 private String frontId;
22 20
23 @ApiModelProperty(value = "数据源", required = true) 21 @ApiModelProperty(value = "数据源", required = true)
24 - private List<DataSourceInfoDTO> dataSource; 22 + private JsonNode dataSource;
25 23
26 @ApiModelProperty(value = "备注") 24 @ApiModelProperty(value = "备注")
27 private String remark; 25 private String remark;
1 -package org.thingsboard.server.common.data.yunteng.dto.board;  
2 -  
3 -import io.swagger.annotations.ApiModelProperty;  
4 -import lombok.Data;  
5 -  
6 -import java.io.Serializable;  
7 -import java.util.List;  
8 -  
9 -@Data  
10 -public class ComponentInfoDTO implements Serializable {  
11 -  
12 - private static final long serialVersionUID = -1383423212190365330L;  
13 -  
14 - @ApiModelProperty(value = "数值字体颜色", required = true)  
15 - private String fontColor;  
16 -  
17 - @ApiModelProperty(value = "数值单位")  
18 - private String unit;  
19 -  
20 - @ApiModelProperty(value = "icon图标")  
21 - private String icon;  
22 -  
23 - @ApiModelProperty(value = "icon图标颜色")  
24 - private String iconColor;  
25 -  
26 - @ApiModelProperty(value = "显示设备名称:默认true")  
27 - private Boolean showDeviceName;  
28 -  
29 - @ApiModelProperty(value = "梯度信息")  
30 - private List<GradientInfo> gradientInfo;  
31 -  
32 - public Boolean getShowDeviceName() {  
33 - return showDeviceName;  
34 - }  
35 -  
36 - public void setShowDeviceName(Boolean showDeviceName) {  
37 - this.showDeviceName = null == showDeviceName || showDeviceName;  
38 - }  
39 -}  
1 -package org.thingsboard.server.common.data.yunteng.dto.board;  
2 -  
3 -import com.fasterxml.jackson.databind.JsonNode;  
4 -import io.swagger.annotations.ApiModelProperty;  
5 -import lombok.Data;  
6 -import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;  
7 -  
8 -import java.io.Serializable;  
9 -  
10 -@Data  
11 -public class DataSourceInfoDTO implements Serializable {  
12 -  
13 - private static final long serialVersionUID = -8044628645505274772L;  
14 -  
15 - @ApiModelProperty(value = "设备配置ID", required = true)  
16 - private String deviceProfileId;  
17 -  
18 - @ApiModelProperty(value = "组织ID", required = true)  
19 - private String organizationId;  
20 -  
21 - @ApiModelProperty(value = "设备ID", required = true)  
22 - private String deviceId;  
23 -  
24 - @ApiModelProperty(value = "组织ID", required = true)  
25 - private DeviceTypeEnum deviceType;  
26 -  
27 - @ApiModelProperty(value = "属性", required = true)  
28 - private String attribute;  
29 -  
30 - @ApiModelProperty(value = "设备名称")  
31 - private String deviceName;  
32 -  
33 - @ApiModelProperty(value = "是否网关设备")  
34 - private boolean gatewayDevice = false;  
35 -  
36 - @ApiModelProperty(value = "子设备ID")  
37 - private String slaveDeviceId;  
38 -  
39 - @ApiModelProperty(value = "设备重命名")  
40 - private String deviceRename;  
41 -  
42 - @ApiModelProperty(value = "属性重命名")  
43 - private String attributeRename;  
44 -  
45 - @ApiModelProperty(value = "组件选项信息")  
46 - private ComponentInfoDTO componentInfo;  
47 -  
48 - @ApiModelProperty(value = "命令自定义json")  
49 - private JsonNode customCommand;  
50 -}  
1 -package org.thingsboard.server.common.data.yunteng.dto.board;  
2 -  
3 -import io.swagger.annotations.ApiModelProperty;  
4 -import lombok.Data;  
5 -  
6 -import java.io.Serializable;  
7 -  
8 -@Data  
9 -public class GradientInfo implements Serializable {  
10 -  
11 - private static final long serialVersionUID = -4991589470363935653L;  
12 -  
13 - @ApiModelProperty(value = "梯度颜色")  
14 - private String color;  
15 -  
16 - @ApiModelProperty(value = "梯度key")  
17 - private String key;  
18 -  
19 - @ApiModelProperty(value = "梯度值")  
20 - private Integer value;  
21 -}  
@@ -9,14 +9,12 @@ import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidatio @@ -9,14 +9,12 @@ import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidatio
9 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; 9 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
10 import org.thingsboard.server.common.data.yunteng.dto.DataComponentDTO; 10 import org.thingsboard.server.common.data.yunteng.dto.DataComponentDTO;
11 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; 11 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
12 -import org.thingsboard.server.common.data.yunteng.dto.board.DataSourceInfoDTO;  
13 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; 12 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil;
14 import org.thingsboard.server.dao.yunteng.entities.TkDataComponentEntity; 13 import org.thingsboard.server.dao.yunteng.entities.TkDataComponentEntity;
15 import org.thingsboard.server.dao.yunteng.mapper.DataComponentMapper; 14 import org.thingsboard.server.dao.yunteng.mapper.DataComponentMapper;
16 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; 15 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
17 import org.thingsboard.server.dao.yunteng.service.TkDataComponentService; 16 import org.thingsboard.server.dao.yunteng.service.TkDataComponentService;
18 17
19 -import java.util.ArrayList;  
20 import java.util.List; 18 import java.util.List;
21 import java.util.Optional; 19 import java.util.Optional;
22 import java.util.Set; 20 import java.util.Set;
@@ -37,7 +35,7 @@ public class TkDataComponentServiceImpl @@ -37,7 +35,7 @@ public class TkDataComponentServiceImpl
37 return null; 35 return null;
38 } 36 }
39 return dataComponentList.stream() 37 return dataComponentList.stream()
40 - .map(this::getDataSourceByJsonNode) 38 + .map(entity->entity.getDTO(DataComponentDTO.class))
41 .collect(Collectors.toList()); 39 .collect(Collectors.toList());
42 } 40 }
43 41
@@ -85,19 +83,7 @@ public class TkDataComponentServiceImpl @@ -85,19 +83,7 @@ public class TkDataComponentServiceImpl
85 .eq(TkDataComponentEntity::getTenantId, tenantId) 83 .eq(TkDataComponentEntity::getTenantId, tenantId)
86 .in(TkDataComponentEntity::getDataBoardId, dataBoardIds)); 84 .in(TkDataComponentEntity::getDataBoardId, dataBoardIds));
87 return Optional.ofNullable(dataComponents) 85 return Optional.ofNullable(dataComponents)
88 - .map(obj -> obj.stream().map(this::getDataSourceByJsonNode).collect(Collectors.toList())) 86 + .map(obj -> obj.stream().map(entity->entity.getDTO(DataComponentDTO.class)).collect(Collectors.toList()))
89 .orElse(null); 87 .orElse(null);
90 } 88 }
91 -  
92 - private DataComponentDTO getDataSourceByJsonNode(TkDataComponentEntity obj) {  
93 - DataComponentDTO dto = obj.getDTO(DataComponentDTO.class);  
94 - List<DataSourceInfoDTO> list = new ArrayList<>();  
95 - if (null != obj.getDataSource() && obj.getDataSource().isArray()) {  
96 - for (JsonNode jsonNode : obj.getDataSource()) {  
97 - list.add(JacksonUtil.convertValue(jsonNode, DataSourceInfoDTO.class));  
98 - }  
99 - }  
100 - dto.setDataSource(list);  
101 - return dto;  
102 - }  
103 } 89 }