Showing
6 changed files
with
66 additions
and
16 deletions
1 | package org.thingsboard.server.controller.yunteng; | 1 | package org.thingsboard.server.controller.yunteng; |
2 | 2 | ||
3 | +import com.fasterxml.jackson.core.type.TypeReference; | ||
3 | import com.fasterxml.jackson.databind.JsonNode; | 4 | import com.fasterxml.jackson.databind.JsonNode; |
4 | import io.swagger.annotations.Api; | 5 | import io.swagger.annotations.Api; |
5 | import io.swagger.annotations.ApiOperation; | 6 | import io.swagger.annotations.ApiOperation; |
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.*; | @@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.*; | ||
12 | import org.thingsboard.server.common.data.DeviceProfile; | 13 | import org.thingsboard.server.common.data.DeviceProfile; |
13 | import org.thingsboard.server.common.data.device.profile.DeviceProfileData; | 14 | import org.thingsboard.server.common.data.device.profile.DeviceProfileData; |
14 | import org.thingsboard.server.common.data.exception.ThingsboardException; | 15 | import org.thingsboard.server.common.data.exception.ThingsboardException; |
16 | +import org.thingsboard.server.common.data.id.DeviceProfileId; | ||
15 | import org.thingsboard.server.common.data.yunteng.common.AddGroup; | 17 | import org.thingsboard.server.common.data.yunteng.common.AddGroup; |
16 | import org.thingsboard.server.common.data.yunteng.common.DeleteGroup; | 18 | import org.thingsboard.server.common.data.yunteng.common.DeleteGroup; |
17 | import org.thingsboard.server.common.data.yunteng.common.UpdateGroup; | 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,6 +22,7 @@ import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | ||
20 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; | 22 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
21 | import org.thingsboard.server.common.data.yunteng.dto.DeviceProfileDTO; | 23 | import org.thingsboard.server.common.data.yunteng.dto.DeviceProfileDTO; |
22 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; | 24 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; |
25 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | ||
23 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; | 26 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
24 | import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; | 27 | import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; |
25 | import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; | 28 | import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; |
@@ -122,11 +125,11 @@ public class ThingsModelController extends BaseController { | @@ -122,11 +125,11 @@ public class ThingsModelController extends BaseController { | ||
122 | if (null == dto) { | 125 | if (null == dto) { |
123 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); | 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 | return ResponseEntity.ok(true); | 133 | return ResponseEntity.ok(true); |
131 | } | 134 | } |
132 | 135 |
@@ -18,7 +18,7 @@ package org.thingsboard.server.common.data.device.profile; | @@ -18,7 +18,7 @@ package org.thingsboard.server.common.data.device.profile; | ||
18 | import io.swagger.annotations.ApiModel; | 18 | import io.swagger.annotations.ApiModel; |
19 | import io.swagger.annotations.ApiModelProperty; | 19 | import io.swagger.annotations.ApiModelProperty; |
20 | import lombok.Data; | 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 | import javax.validation.Valid; | 23 | import javax.validation.Valid; |
24 | import java.io.Serializable; | 24 | import java.io.Serializable; |
@@ -41,7 +41,7 @@ public class DeviceProfileData implements Serializable { | @@ -41,7 +41,7 @@ public class DeviceProfileData implements Serializable { | ||
41 | 41 | ||
42 | //Thingskit function | 42 | //Thingskit function |
43 | @Valid | 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,14 +196,14 @@ public class ThingsModelServiceImpl | ||
196 | 196 | ||
197 | @Override | 197 | @Override |
198 | @Transactional | 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 | boolean result = baseMapper.changeTSLStatus(deviceProfileId, tenantId, status); | 200 | boolean result = baseMapper.changeTSLStatus(deviceProfileId, tenantId, status); |
201 | if(result){ | 201 | if(result){ |
202 | List<TkThingsModelEntity> entityList = baseMapper.selectList(new LambdaQueryWrapper<TkThingsModelEntity>().eq(TkThingsModelEntity::getDeviceProfileId,deviceProfileId)); | 202 | List<TkThingsModelEntity> entityList = baseMapper.selectList(new LambdaQueryWrapper<TkThingsModelEntity>().eq(TkThingsModelEntity::getDeviceProfileId,deviceProfileId)); |
203 | if (entityList.isEmpty()) { | 203 | if (entityList.isEmpty()) { |
204 | return null; | 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 | return null; | 208 | return null; |
209 | } | 209 | } |
@@ -3,6 +3,7 @@ package org.thingsboard.server.dao.yunteng.service; | @@ -3,6 +3,7 @@ package org.thingsboard.server.dao.yunteng.service; | ||
3 | import com.fasterxml.jackson.databind.JsonNode; | 3 | import com.fasterxml.jackson.databind.JsonNode; |
4 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; | 4 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
5 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; | 5 | import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; |
6 | +import org.thingsboard.server.common.data.yunteng.dto.TkThingsModel; | ||
6 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; | 7 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
7 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; | 8 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
8 | import org.thingsboard.server.dao.yunteng.entities.TkThingsModelEntity; | 9 | import org.thingsboard.server.dao.yunteng.entities.TkThingsModelEntity; |
@@ -27,5 +28,5 @@ public interface ThingsModelService { | @@ -27,5 +28,5 @@ public interface ThingsModelService { | ||
27 | 28 | ||
28 | JsonNode getTingsModelTSL(FunctionTypeEnum typeEnum, String tenantId, String deviceProfileId); | 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,9 +23,8 @@ import org.thingsboard.server.common.data.DeviceProfile; | ||
23 | import org.thingsboard.server.common.data.id.DeviceProfileId; | 23 | import org.thingsboard.server.common.data.id.DeviceProfileId; |
24 | import org.thingsboard.server.common.data.id.TenantId; | 24 | import org.thingsboard.server.common.data.id.TenantId; |
25 | import org.thingsboard.server.common.data.plugin.ComponentType; | 25 | import org.thingsboard.server.common.data.plugin.ComponentType; |
26 | -import org.thingsboard.server.common.data.yunteng.dto.ThingsModelDTO; | ||
27 | import org.thingsboard.server.common.data.yunteng.dto.TkEventKvEntry; | 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 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; | 28 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
30 | import org.thingsboard.server.common.msg.TbMsg; | 29 | import org.thingsboard.server.common.msg.TbMsg; |
31 | import org.thingsboard.server.common.msg.session.SessionMsgType; | 30 | import org.thingsboard.server.common.msg.session.SessionMsgType; |
@@ -35,7 +34,8 @@ import java.util.List; | @@ -35,7 +34,8 @@ import java.util.List; | ||
35 | import java.util.UUID; | 34 | import java.util.UUID; |
36 | import java.util.stream.Collectors; | 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 | @Slf4j | 40 | @Slf4j |
41 | @RuleNode( | 41 | @RuleNode( |
@@ -70,7 +70,7 @@ public class TkMsgEventNode implements TbNode { | @@ -70,7 +70,7 @@ public class TkMsgEventNode implements TbNode { | ||
70 | DeviceProfileId profileId = new DeviceProfileId(UUID.fromString(deviceProfileId)); | 70 | DeviceProfileId profileId = new DeviceProfileId(UUID.fromString(deviceProfileId)); |
71 | DeviceProfile profile = cache.get(tenantId,profileId); | 71 | DeviceProfile profile = cache.get(tenantId,profileId); |
72 | String eventIdentifier = msg.getMetaData().getValue(EVENT_IDENTIFIER_COLUMN); | 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 | .filter(f -> f.getIdentifier().equals(eventIdentifier) && FunctionTypeEnum.events.equals(f.getFunctionType())) | 74 | .filter(f -> f.getIdentifier().equals(eventIdentifier) && FunctionTypeEnum.events.equals(f.getFunctionType())) |
75 | .collect(Collectors.toList()); | 75 | .collect(Collectors.toList()); |
76 | List<TkEventKvEntry> entryList = new ArrayList<>(); | 76 | List<TkEventKvEntry> entryList = new ArrayList<>(); |
@@ -83,7 +83,6 @@ public class TkMsgEventNode implements TbNode { | @@ -83,7 +83,6 @@ public class TkMsgEventNode implements TbNode { | ||
83 | ////TODO: 验证事件类型、事件标识符和数据建是否与产品物模型中的事件匹配 | 83 | ////TODO: 验证事件类型、事件标识符和数据建是否与产品物模型中的事件匹配 |
84 | long ts = System.currentTimeMillis(); | 84 | long ts = System.currentTimeMillis(); |
85 | String src = msg.getData(); | 85 | String src = msg.getData(); |
86 | - DeviceEventTypeEnum eventType = DeviceEventTypeEnum.valueOf(msg.getMetaData().getValue(EVENT_TYPE_COLUMN)); | ||
87 | ctx.getTelemetryService().saveAndNotify( | 86 | ctx.getTelemetryService().saveAndNotify( |
88 | tenantId,profileId, | 87 | tenantId,profileId, |
89 | msg.getOriginator(), | 88 | msg.getOriginator(), |