Commit 460d7a634348cea0ea4eccf27f8f7bc5bc5353ae
1 parent
91a83b1d
perf: 将数据组件的List<DataSourceInfoDTO>改为JsonNode,便于组件扩展
Showing
5 changed files
with
4 additions
and
130 deletions
1 | 1 | package org.thingsboard.server.common.data.yunteng.dto; |
2 | 2 | |
3 | +import com.fasterxml.jackson.databind.JsonNode; | |
3 | 4 | import io.swagger.annotations.ApiModelProperty; |
4 | 5 | import lombok.Data; |
5 | 6 | import lombok.EqualsAndHashCode; |
6 | 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 | 9 | @EqualsAndHashCode(callSuper = true) |
12 | 10 | @Data |
... | ... | @@ -21,7 +19,7 @@ public class DataComponentDTO extends TenantDTO { |
21 | 19 | private String frontId; |
22 | 20 | |
23 | 21 | @ApiModelProperty(value = "数据源", required = true) |
24 | - private List<DataSourceInfoDTO> dataSource; | |
22 | + private JsonNode dataSource; | |
25 | 23 | |
26 | 24 | @ApiModelProperty(value = "备注") |
27 | 25 | private String remark; | ... | ... |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/board/ComponentInfoDTO.java
deleted
100644 → 0
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 | -} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/board/DataSourceInfoDTO.java
deleted
100644 → 0
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 | -} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/board/GradientInfo.java
deleted
100644 → 0
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 | 9 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
10 | 10 | import org.thingsboard.server.common.data.yunteng.dto.DataComponentDTO; |
11 | 11 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
12 | -import org.thingsboard.server.common.data.yunteng.dto.board.DataSourceInfoDTO; | |
13 | 12 | import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; |
14 | 13 | import org.thingsboard.server.dao.yunteng.entities.TkDataComponentEntity; |
15 | 14 | import org.thingsboard.server.dao.yunteng.mapper.DataComponentMapper; |
16 | 15 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
17 | 16 | import org.thingsboard.server.dao.yunteng.service.TkDataComponentService; |
18 | 17 | |
19 | -import java.util.ArrayList; | |
20 | 18 | import java.util.List; |
21 | 19 | import java.util.Optional; |
22 | 20 | import java.util.Set; |
... | ... | @@ -37,7 +35,7 @@ public class TkDataComponentServiceImpl |
37 | 35 | return null; |
38 | 36 | } |
39 | 37 | return dataComponentList.stream() |
40 | - .map(this::getDataSourceByJsonNode) | |
38 | + .map(entity->entity.getDTO(DataComponentDTO.class)) | |
41 | 39 | .collect(Collectors.toList()); |
42 | 40 | } |
43 | 41 | |
... | ... | @@ -85,19 +83,7 @@ public class TkDataComponentServiceImpl |
85 | 83 | .eq(TkDataComponentEntity::getTenantId, tenantId) |
86 | 84 | .in(TkDataComponentEntity::getDataBoardId, dataBoardIds)); |
87 | 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 | 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 | } | ... | ... |