Commit eb458c5da5d65ff3c474a2c1409dc8c8f2df801b

Authored by xp.Huang
2 parents 367cf61e 026b770c

Merge branch '20220426' into 'master'

20220426

See merge request huang/thingsboard3.3.2!86
@@ -36,6 +36,7 @@ import org.thingsboard.server.actors.shared.AbstractContextAwareMsgProcessor; @@ -36,6 +36,7 @@ import org.thingsboard.server.actors.shared.AbstractContextAwareMsgProcessor;
36 import org.thingsboard.server.actors.stats.StatsPersistTick; 36 import org.thingsboard.server.actors.stats.StatsPersistTick;
37 import org.thingsboard.server.common.data.DataConstants; 37 import org.thingsboard.server.common.data.DataConstants;
38 import org.thingsboard.server.common.data.Device; 38 import org.thingsboard.server.common.data.Device;
  39 +import org.thingsboard.server.common.data.DeviceTransportType;
39 import org.thingsboard.server.common.data.StringUtils; 40 import org.thingsboard.server.common.data.StringUtils;
40 import org.thingsboard.server.common.data.edge.EdgeEvent; 41 import org.thingsboard.server.common.data.edge.EdgeEvent;
41 import org.thingsboard.server.common.data.edge.EdgeEventActionType; 42 import org.thingsboard.server.common.data.edge.EdgeEventActionType;
@@ -245,7 +246,15 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { @@ -245,7 +246,15 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
245 rpc.setExpirationTime(request.getExpirationTime()); 246 rpc.setExpirationTime(request.getExpirationTime());
246 rpc.setRequest(JacksonUtil.valueToTree(request)); 247 rpc.setRequest(JacksonUtil.valueToTree(request));
247 rpc.setStatus(status); 248 rpc.setStatus(status);
248 - rpc.setAdditionalInfo(JacksonUtil.toJsonNode(request.getAdditionalInfo())); 249 +
  250 + //Thingskit function
  251 + JsonNode old = JacksonUtil.toJsonNode(request.getAdditionalInfo());
  252 + ObjectNode additional = old.isEmpty() ?mapper.createObjectNode():(ObjectNode)old;
  253 + if(!additional.has("cmdType")){
  254 + additional.put("cmdType", DeviceTransportType.MQTT.name());
  255 + }
  256 + rpc.setAdditionalInfo(additional);
  257 +
249 return systemContext.getTbRpcService().save(tenantId, rpc); 258 return systemContext.getTbRpcService().save(tenantId, rpc);
250 } 259 }
251 260
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.annotation.JsonFormat;  
4 import com.fasterxml.jackson.databind.JsonNode; 3 import com.fasterxml.jackson.databind.JsonNode;
5 -import com.fasterxml.jackson.databind.annotation.JsonSerialize;  
6 -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;  
7 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
8 import lombok.Data; 5 import lombok.Data;
9 -import lombok.EqualsAndHashCode;  
10 -import org.thingsboard.server.common.data.TenantProfile;  
11 -import org.thingsboard.server.common.data.rpc.RpcStatus;  
12 import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum; 6 import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;
13 -import org.thingsboard.server.common.data.yunteng.enums.LoginMethodEnum;  
14 -import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum;  
15 -  
16 -import javax.validation.constraints.NotEmpty;  
17 -import java.time.LocalDateTime; 7 +import org.thingsboard.server.common.data.yunteng.enums.YtRpcStatus;
18 8
19 /** 9 /**
20 * @author Administrator 10 * @author Administrator
@@ -54,9 +44,12 @@ public class YtRpcRecordDTO { @@ -54,9 +44,12 @@ public class YtRpcRecordDTO {
54 @ApiModelProperty(value = "RPC扩展信息") 44 @ApiModelProperty(value = "RPC扩展信息")
55 private JsonNode additionalInfo; 45 private JsonNode additionalInfo;
56 @ApiModelProperty(value = "RPC状态") 46 @ApiModelProperty(value = "RPC状态")
57 - private RpcStatus status;  
58 - 47 + private YtRpcStatus status;
59 48
60 49
  50 + private String statusName;
61 51
  52 + public String getStatusName() {
  53 + return YtRpcStatus.getLabel(status.name());
  54 + }
62 } 55 }
  1 +/**
  2 + * Copyright © 2016-2021 The Thingsboard Authors
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +package org.thingsboard.server.common.data.yunteng.enums;
  17 +
  18 +public enum YtRpcStatus {
  19 + QUEUED("队列中"), SENT("已发送"), DELIVERED("处理中"), SUCCESSFUL("成功"), TIMEOUT("超时"), EXPIRED("过期"), FAILED("失败");
  20 +
  21 + String label;
  22 + YtRpcStatus(String label){
  23 + this.label= label;
  24 + }
  25 + public static String getLabel(String name){
  26 + for(YtRpcStatus type:values()){
  27 + if(type.name().equals(name)){
  28 + return type.label;
  29 + }
  30 + }
  31 + return null;
  32 + }
  33 +}
@@ -155,6 +155,7 @@ public class JsonConverter { @@ -155,6 +155,7 @@ public class JsonConverter {
155 } 155 }
156 156
157 public static JsonElement toJson(TransportProtos.ToDeviceRpcRequestMsg msg, boolean includeRequestId) { 157 public static JsonElement toJson(TransportProtos.ToDeviceRpcRequestMsg msg, boolean includeRequestId) {
  158 + //Thingskit function
158 JsonObject result = null; 159 JsonObject result = null;
159 if("methodThingskit".equals(msg.getMethodName())){ 160 if("methodThingskit".equals(msg.getMethodName())){
160 result= JSON_PARSER.parse(msg.getParams()).getAsJsonObject(); 161 result= JSON_PARSER.parse(msg.getParams()).getAsJsonObject();
@@ -163,6 +164,8 @@ public class JsonConverter { @@ -163,6 +164,8 @@ public class JsonConverter {
163 result.addProperty("method", msg.getMethodName()); 164 result.addProperty("method", msg.getMethodName());
164 result.add("params", JSON_PARSER.parse(msg.getParams())); 165 result.add("params", JSON_PARSER.parse(msg.getParams()));
165 } 166 }
  167 +
  168 +
166 if (includeRequestId) { 169 if (includeRequestId) {
167 result.addProperty("id", msg.getRequestId()); 170 result.addProperty("id", msg.getRequestId());
168 } 171 }