Showing
1 changed file
with
26 additions
and
80 deletions
@@ -3,7 +3,6 @@ package org.thingsboard.server.dao.yunteng.impl; | @@ -3,7 +3,6 @@ package org.thingsboard.server.dao.yunteng.impl; | ||
3 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 3 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
4 | import com.baomidou.mybatisplus.core.metadata.IPage; | 4 | import com.baomidou.mybatisplus.core.metadata.IPage; |
5 | import com.fasterxml.jackson.databind.JsonNode; | 5 | import com.fasterxml.jackson.databind.JsonNode; |
6 | -import com.fasterxml.jackson.databind.node.ObjectNode; | ||
7 | import lombok.RequiredArgsConstructor; | 6 | import lombok.RequiredArgsConstructor; |
8 | import org.apache.commons.lang3.StringUtils; | 7 | import org.apache.commons.lang3.StringUtils; |
9 | import org.springframework.beans.BeanUtils; | 8 | import org.springframework.beans.BeanUtils; |
@@ -13,8 +12,6 @@ import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; | @@ -13,8 +12,6 @@ import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; | ||
13 | import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; | 12 | import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; |
14 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | 13 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
15 | import org.thingsboard.server.common.data.yunteng.dto.*; | 14 | import org.thingsboard.server.common.data.yunteng.dto.*; |
16 | -import org.thingsboard.server.common.data.yunteng.enums.DataTypeEnum; | ||
17 | -import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum; | ||
18 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; | 15 | import org.thingsboard.server.common.data.yunteng.enums.FunctionTypeEnum; |
19 | import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; | 16 | import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; |
20 | import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; | 17 | import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; |
@@ -159,45 +156,41 @@ public class ThingsModelServiceImpl | @@ -159,45 +156,41 @@ public class ThingsModelServiceImpl | ||
159 | } | 156 | } |
160 | List<ThingsModelDTO> thingsModelDTOS = | 157 | List<ThingsModelDTO> thingsModelDTOS = |
161 | selectByDeviceProfileId(typeEnum, tenantId, deviceProfileId); | 158 | selectByDeviceProfileId(typeEnum, tenantId, deviceProfileId); |
162 | - if(null ==thingsModelDTOS){ | 159 | + if (null == thingsModelDTOS) { |
163 | return jsonNode; | 160 | return jsonNode; |
164 | } | 161 | } |
165 | - DeviceTypeEnum deviceType = deviceProfileDTO.getDeviceType(); | ||
166 | - if (typeEnum.equals(FunctionTypeEnum.properties)) { | ||
167 | - jsonNode = getAttributeTSL(thingsModelDTOS, deviceType); | ||
168 | - } else { | ||
169 | - if (typeEnum.equals(FunctionTypeEnum.services)) { | ||
170 | - List<ServiceModelDTO> serviceList = new ArrayList<>(); | ||
171 | - if (!thingsModelDTOS.isEmpty()) { | ||
172 | - for (ThingsModelDTO thingsModelDTO : thingsModelDTOS) { | ||
173 | - ServiceModelDTO serviceDTO = new ServiceModelDTO(); | ||
174 | - BeanUtils.copyProperties(thingsModelDTO, serviceDTO); | ||
175 | - JsonNode functionJson = thingsModelDTO.getFunctionJson(); | ||
176 | - if (null != functionJson) { | 162 | + List<Object> serviceList = new ArrayList<>(); |
163 | + if (!thingsModelDTOS.isEmpty()) { | ||
164 | + for (ThingsModelDTO thingsModelDTO : thingsModelDTOS) { | ||
165 | + JsonNode functionJson = thingsModelDTO.getFunctionJson(); | ||
166 | + if (null != functionJson) { | ||
167 | + switch (typeEnum) { | ||
168 | + case properties: | ||
169 | + AttributeModelDTO attributeModelDTO = new AttributeModelDTO(); | ||
170 | + BeanUtils.copyProperties(thingsModelDTO, attributeModelDTO); | ||
171 | + attributeModelDTO.setSpecs(functionJson.get("dataType")); | ||
172 | + serviceList.add(attributeModelDTO); | ||
173 | + break; | ||
174 | + case services: | ||
175 | + ServiceModelDTO serviceDTO = new ServiceModelDTO(); | ||
176 | + BeanUtils.copyProperties(thingsModelDTO, serviceDTO); | ||
177 | serviceDTO.setInputData(functionJson.get("inputData")); | 177 | serviceDTO.setInputData(functionJson.get("inputData")); |
178 | serviceDTO.setOutputData(functionJson.get("outputData")); | 178 | serviceDTO.setOutputData(functionJson.get("outputData")); |
179 | - } | ||
180 | - serviceList.add(serviceDTO); | ||
181 | - } | ||
182 | - } | ||
183 | - jsonNode = JacksonUtil.convertValue(serviceList, JsonNode.class); | ||
184 | - } else { | ||
185 | - List<EventModelDTO> eventList = new ArrayList<>(); | ||
186 | - if (!thingsModelDTOS.isEmpty()) { | ||
187 | - for (ThingsModelDTO thingsModelDTO : thingsModelDTOS) { | ||
188 | - EventModelDTO eventDTO = new EventModelDTO(); | ||
189 | - BeanUtils.copyProperties(thingsModelDTO, eventDTO); | ||
190 | - JsonNode functionJson = thingsModelDTO.getFunctionJson(); | ||
191 | - if (null != functionJson) { | 179 | + serviceList.add(serviceDTO); |
180 | + break; | ||
181 | + case events: | ||
182 | + EventModelDTO eventDTO = new EventModelDTO(); | ||
183 | + BeanUtils.copyProperties(thingsModelDTO, eventDTO); | ||
192 | eventDTO.setOutputData(functionJson.get("outputData")); | 184 | eventDTO.setOutputData(functionJson.get("outputData")); |
193 | - } | 185 | + serviceList.add(eventDTO); |
186 | + break; | ||
187 | + default: | ||
188 | + break; | ||
194 | } | 189 | } |
195 | } | 190 | } |
196 | - jsonNode = JacksonUtil.convertValue(eventList, JsonNode.class); | ||
197 | } | 191 | } |
198 | } | 192 | } |
199 | - | ||
200 | - return jsonNode; | 193 | + return JacksonUtil.convertValue(serviceList, JsonNode.class); |
201 | } | 194 | } |
202 | 195 | ||
203 | @Override | 196 | @Override |
@@ -206,53 +199,6 @@ public class ThingsModelServiceImpl | @@ -206,53 +199,6 @@ public class ThingsModelServiceImpl | ||
206 | return baseMapper.changeTSLStatus(deviceProfileId, tenantId, status); | 199 | return baseMapper.changeTSLStatus(deviceProfileId, tenantId, status); |
207 | } | 200 | } |
208 | 201 | ||
209 | - private JsonNode getAttributeTSL( | ||
210 | - List<ThingsModelDTO> thingsModelDTOS, DeviceTypeEnum deviceType) { | ||
211 | - Map<String, List<ObjectNode>> attributeMap = new HashMap<>(); | ||
212 | - JsonNode jsonNode; | ||
213 | - List<ObjectNode> list = new ArrayList<>(); | ||
214 | - for (ThingsModelDTO model : thingsModelDTOS) { | ||
215 | - ObjectNode objectNode = JacksonUtil.newObjectNode(); | ||
216 | - JsonNode dataType = model.getFunctionJson().get("dataType"); | ||
217 | - if (null != dataType) { | ||
218 | - DataTypeEnum type = | ||
219 | - dataType.get("type") != null | ||
220 | - ? DataTypeEnum.valueOf(dataType.get("type").asText()) | ||
221 | - : null; | ||
222 | - String identifier = model.getIdentifier(); | ||
223 | - switch (Objects.requireNonNull(type)) { | ||
224 | - case INT: | ||
225 | - objectNode.put(identifier, 0); | ||
226 | - break; | ||
227 | - case BOOL: | ||
228 | - objectNode.put(identifier, "0"); | ||
229 | - break; | ||
230 | - case DOUBLE: | ||
231 | - objectNode.put(identifier, 0.00); | ||
232 | - break; | ||
233 | - case TEXT: | ||
234 | - objectNode.put(identifier, "text"); | ||
235 | - break; | ||
236 | - case STRUCT: | ||
237 | - objectNode.putPOJO(identifier, dataType.get("specs")); | ||
238 | - break; | ||
239 | - default: | ||
240 | - objectNode.put(identifier, "value"); | ||
241 | - break; | ||
242 | - } | ||
243 | - } | ||
244 | - list.add(objectNode); | ||
245 | - } | ||
246 | - if (deviceType.equals(DeviceTypeEnum.SENSOR)) { | ||
247 | - attributeMap.put("网关子设备名称", list); | ||
248 | - jsonNode = JacksonUtil.convertValue(attributeMap, JsonNode.class); | ||
249 | - } else { | ||
250 | - jsonNode = JacksonUtil.convertValue(list, JsonNode.class); | ||
251 | - } | ||
252 | - | ||
253 | - return jsonNode; | ||
254 | - } | ||
255 | - | ||
256 | private boolean checkIdentifier( | 202 | private boolean checkIdentifier( |
257 | String deviceProfileId, String identifier, boolean isAdd, String thingsModelId) { | 203 | String deviceProfileId, String identifier, boolean isAdd, String thingsModelId) { |
258 | TkThingsModelEntity entity = | 204 | TkThingsModelEntity entity = |