Showing
6 changed files
with
66 additions
and
16 deletions
1 | 1 | package org.thingsboard.server.controller.yunteng; |
2 | 2 | |
3 | +import com.fasterxml.jackson.core.type.TypeReference; | |
3 | 4 | import com.fasterxml.jackson.databind.JsonNode; |
4 | 5 | import io.swagger.annotations.Api; |
5 | 6 | import io.swagger.annotations.ApiOperation; |
... | ... | @@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.*; |
12 | 13 | import org.thingsboard.server.common.data.DeviceProfile; |
13 | 14 | import org.thingsboard.server.common.data.device.profile.DeviceProfileData; |
14 | 15 | import org.thingsboard.server.common.data.exception.ThingsboardException; |
16 | +import org.thingsboard.server.common.data.id.DeviceProfileId; | |
15 | 17 | import org.thingsboard.server.common.data.yunteng.common.AddGroup; |
16 | 18 | import org.thingsboard.server.common.data.yunteng.common.DeleteGroup; |
17 | 19 | import org.thingsboard.server.common.data.yunteng.common.UpdateGroup; |
... | ... | @@ -20,6 +22,7 @@ import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
20 | 22 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
21 | 23 | import org.thingsboard.server.common.data.yunteng.dto.DeviceProfileDTO; |
22 | 24 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; |
25 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | |
23 | 26 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
24 | 27 | import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; |
25 | 28 | import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; |
... | ... | @@ -122,11 +125,11 @@ public class ThingsModelController extends BaseController { |
122 | 125 | if (null == dto) { |
123 | 126 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
124 | 127 | } |
125 | - List<ThingsModelDTO> thingsModels = thingsModelService.changeTSLStatus(deviceProfileId, tenantId, StatusEnum.ENABLE.getIndex()); | |
126 | - DeviceProfileData profileData = dto.getProfileData(); | |
127 | - profileData.setThingsModel(thingsModels); | |
128 | - dto.setProfileData(profileData); | |
129 | - updateTbDeviceProfile(JacksonUtil.convertValue(dto, DeviceProfile.class)); | |
128 | + List<TkThingsModel> thingsModels = thingsModelService.changeTSLStatus(deviceProfileId, tenantId, StatusEnum.ENABLE.getIndex()); | |
129 | + DeviceProfile tbProfile = deviceProfileService.findDeviceProfileById(getTenantId(), DeviceProfileId.fromString(dto.getTbProfileId())); | |
130 | + tbProfile.getProfileData() | |
131 | + .setThingsModel(thingsModels); | |
132 | + updateTbDeviceProfile(tbProfile); | |
130 | 133 | return ResponseEntity.ok(true); |
131 | 134 | } |
132 | 135 | ... | ... |
... | ... | @@ -18,7 +18,7 @@ package org.thingsboard.server.common.data.device.profile; |
18 | 18 | import io.swagger.annotations.ApiModel; |
19 | 19 | import io.swagger.annotations.ApiModelProperty; |
20 | 20 | import lombok.Data; |
21 | -import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; | |
21 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | |
22 | 22 | |
23 | 23 | import javax.validation.Valid; |
24 | 24 | import java.io.Serializable; |
... | ... | @@ -41,7 +41,7 @@ public class DeviceProfileData implements Serializable { |
41 | 41 | |
42 | 42 | //Thingskit function |
43 | 43 | @Valid |
44 | - @ApiModelProperty(position = 1, value = "JSON object of has published things model configuration") | |
45 | - private List<ThingsModelDTO> thingsModel; | |
44 | + @ApiModelProperty(position = 5, value = "JSON object of has published things model configuration") | |
45 | + private List<TkThingsModel> thingsModel; | |
46 | 46 | |
47 | 47 | } | ... | ... |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkThingsModel.java
0 → 100644
1 | +package org.thingsboard.server.common.data.yunteng.dto; | |
2 | + | |
3 | +import com.fasterxml.jackson.databind.JsonNode; | |
4 | +import io.swagger.annotations.ApiModel; | |
5 | +import io.swagger.annotations.ApiModelProperty; | |
6 | +import lombok.Data; | |
7 | +import lombok.EqualsAndHashCode; | |
8 | +import org.thingsboard.server.common.data.yunteng.common.AddGroup; | |
9 | +import org.thingsboard.server.common.data.yunteng.common.UpdateGroup; | |
10 | +import org.thingsboard.server.common.data.yunteng.enums.CallTypeEnum; | |
11 | +import org.thingsboard.server.common.data.yunteng.enums.DeviceEventTypeEnum; | |
12 | +import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; | |
13 | + | |
14 | +import javax.validation.constraints.NotEmpty; | |
15 | +import javax.validation.constraints.NotNull; | |
16 | +import java.io.Serializable; | |
17 | + | |
18 | +@Data | |
19 | +public class TkThingsModel implements Serializable { | |
20 | + | |
21 | + private FunctionTypeEnum functionType; | |
22 | + | |
23 | + | |
24 | + private String functionName; | |
25 | + | |
26 | + | |
27 | + private String identifier; | |
28 | + | |
29 | + | |
30 | + private CallTypeEnum callType; | |
31 | + | |
32 | + private String accessMode; | |
33 | + | |
34 | + | |
35 | + private DeviceEventTypeEnum eventType; | |
36 | + | |
37 | + | |
38 | + private JsonNode functionJson; | |
39 | + | |
40 | + | |
41 | + private Integer status; | |
42 | + | |
43 | + | |
44 | + private String deviceProfileId; | |
45 | + | |
46 | + private String remark; | |
47 | +} | ... | ... |
... | ... | @@ -196,14 +196,14 @@ public class ThingsModelServiceImpl |
196 | 196 | |
197 | 197 | @Override |
198 | 198 | @Transactional |
199 | - public List<ThingsModelDTO> changeTSLStatus(String deviceProfileId, String tenantId, Integer status) { | |
199 | + public List<TkThingsModel> changeTSLStatus(String deviceProfileId, String tenantId, Integer status) { | |
200 | 200 | boolean result = baseMapper.changeTSLStatus(deviceProfileId, tenantId, status); |
201 | 201 | if(result){ |
202 | 202 | List<TkThingsModelEntity> entityList = baseMapper.selectList(new LambdaQueryWrapper<TkThingsModelEntity>().eq(TkThingsModelEntity::getDeviceProfileId,deviceProfileId)); |
203 | 203 | if (entityList.isEmpty()) { |
204 | 204 | return null; |
205 | 205 | } |
206 | - return entityList.stream().map(en -> en.getDTO(ThingsModelDTO.class)).collect(Collectors.toList()); | |
206 | + return entityList.stream().map(en -> en.getDTO(TkThingsModel.class)).collect(Collectors.toList()); | |
207 | 207 | } |
208 | 208 | return null; |
209 | 209 | } | ... | ... |
... | ... | @@ -3,6 +3,7 @@ package org.thingsboard.server.dao.yunteng.service; |
3 | 3 | import com.fasterxml.jackson.databind.JsonNode; |
4 | 4 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
5 | 5 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; |
6 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | |
6 | 7 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
7 | 8 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
8 | 9 | import org.thingsboard.server.dao.yunteng.entities.TkThingsModelEntity; |
... | ... | @@ -27,5 +28,5 @@ public interface ThingsModelService { |
27 | 28 | |
28 | 29 | JsonNode getTingsModelTSL(FunctionTypeEnum typeEnum, String tenantId, String deviceProfileId); |
29 | 30 | |
30 | - List<ThingsModelDTO> changeTSLStatus(String deviceProfileId, String tenantId, Integer status); | |
31 | + List<TkThingsModel> changeTSLStatus(String deviceProfileId, String tenantId, Integer status); | |
31 | 32 | } | ... | ... |
... | ... | @@ -23,9 +23,8 @@ import org.thingsboard.server.common.data.DeviceProfile; |
23 | 23 | import org.thingsboard.server.common.data.id.DeviceProfileId; |
24 | 24 | import org.thingsboard.server.common.data.id.TenantId; |
25 | 25 | import org.thingsboard.server.common.data.plugin.ComponentType; |
26 | -import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; | |
27 | 26 | import org.thingsboard.server.common.data.yunteng.dto.TkEventKvEntry; |
28 | -import org.thingsboard.server.common.data.yunteng.enums.DeviceEventTypeEnum; | |
27 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | |
29 | 28 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
30 | 29 | import org.thingsboard.server.common.msg.TbMsg; |
31 | 30 | import org.thingsboard.server.common.msg.session.SessionMsgType; |
... | ... | @@ -35,7 +34,8 @@ import java.util.List; |
35 | 34 | import java.util.UUID; |
36 | 35 | import java.util.stream.Collectors; |
37 | 36 | |
38 | -import static org.thingsboard.server.dao.model.ModelConstants.*; | |
37 | +import static org.thingsboard.server.dao.model.ModelConstants.DEVICE_DEVICE_PROFILE_ID_PROPERTY; | |
38 | +import static org.thingsboard.server.dao.model.ModelConstants.EVENT_IDENTIFIER_COLUMN; | |
39 | 39 | |
40 | 40 | @Slf4j |
41 | 41 | @RuleNode( |
... | ... | @@ -70,7 +70,7 @@ public class TkMsgEventNode implements TbNode { |
70 | 70 | DeviceProfileId profileId = new DeviceProfileId(UUID.fromString(deviceProfileId)); |
71 | 71 | DeviceProfile profile = cache.get(tenantId,profileId); |
72 | 72 | String eventIdentifier = msg.getMetaData().getValue(EVENT_IDENTIFIER_COLUMN); |
73 | - List<ThingsModelDTO> eventList =profile.getProfileData().getThingsModel().stream() | |
73 | + List<TkThingsModel> eventList =profile.getProfileData().getThingsModel().stream() | |
74 | 74 | .filter(f -> f.getIdentifier().equals(eventIdentifier) && FunctionTypeEnum.events.equals(f.getFunctionType())) |
75 | 75 | .collect(Collectors.toList()); |
76 | 76 | List<TkEventKvEntry> entryList = new ArrayList<>(); |
... | ... | @@ -83,7 +83,6 @@ public class TkMsgEventNode implements TbNode { |
83 | 83 | ////TODO: 验证事件类型、事件标识符和数据建是否与产品物模型中的事件匹配 |
84 | 84 | long ts = System.currentTimeMillis(); |
85 | 85 | String src = msg.getData(); |
86 | - DeviceEventTypeEnum eventType = DeviceEventTypeEnum.valueOf(msg.getMetaData().getValue(EVENT_TYPE_COLUMN)); | |
87 | 86 | ctx.getTelemetryService().saveAndNotify( |
88 | 87 | tenantId,profileId, |
89 | 88 | msg.getOriginator(), | ... | ... |