Commit 9aa849d55595a07e9bdbc587af5d10811dadb69a

Authored by 芯火源
1 parent 814fae23

refactor: 命令下发记录命令类型

1、新增命令下发类型的枚举
2、默认命令下发类型:自定义
3、场景联动后端组装命令下发类型
... ... @@ -58,6 +58,8 @@ import org.thingsboard.server.common.data.rpc.RpcStatus;
58 58 import org.thingsboard.server.common.data.rpc.ToDeviceRpcRequestBody;
59 59 import org.thingsboard.server.common.data.security.DeviceCredentials;
60 60 import org.thingsboard.server.common.data.security.DeviceCredentialsType;
  61 +import org.thingsboard.server.common.data.yunteng.constant.ModelConstants;
  62 +import org.thingsboard.server.common.data.yunteng.enums.CmdTypeEnum;
61 63 import org.thingsboard.server.common.msg.TbActorMsg;
62 64 import org.thingsboard.server.common.msg.TbMsgMetaData;
63 65 import org.thingsboard.server.common.msg.queue.TbCallback;
... ... @@ -251,8 +253,8 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
251 253 //Thingskit function
252 254 JsonNode old = JacksonUtil.toJsonNode(request.getAdditionalInfo());
253 255 ObjectNode additional = (old == null || old.isEmpty()) ?mapper.createObjectNode():(ObjectNode)old;
254   - if(!additional.has("cmdType")){
255   - additional.put("cmdType", DeviceTransportType.MQTT.name());
  256 + if(!additional.has(ModelConstants.TablePropertyMapping.COMMAND_TYPE)){
  257 + additional.put(ModelConstants.TablePropertyMapping.COMMAND_TYPE, CmdTypeEnum.DIY.ordinal());
256 258 }
257 259 rpc.setAdditionalInfo(additional);
258 260
... ...
... ... @@ -131,6 +131,7 @@ public final class ModelConstants {
131 131 public static final String TB_DEVICE_ID = "tbDeviceId";
132 132 public static final String DEVICE_STATE = "deviceState";
133 133 public static final String ACTIVE_TIME = "activeTime";
  134 + public static final String COMMAND_TYPE = "cmdType";
134 135 public static final String ADDITIONALINFO_DESCRIPTION = "description";
135 136 }
136 137
... ...
  1 +package org.thingsboard.server.common.data.yunteng.enums;
  2 +
  3 +/**
  4 + * 命令下发类型
  5 + */
  6 +public enum CmdTypeEnum {
  7 + //自定义
  8 + DIY,
  9 + //服务
  10 + SERVICE
  11 +}
... ...
... ... @@ -9,8 +9,10 @@ import lombok.RequiredArgsConstructor;
9 9 import org.apache.commons.lang3.StringUtils;
10 10 import org.springframework.stereotype.Service;
11 11 import org.springframework.transaction.annotation.Transactional;
  12 +import org.thingsboard.server.common.data.DataConstants;
12 13 import org.thingsboard.server.common.data.id.EntityId;
13 14 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
  15 +import org.thingsboard.server.common.data.yunteng.constant.ModelConstants;
14 16 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
15 17 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
16 18 import org.thingsboard.server.common.data.yunteng.dto.*;
... ... @@ -251,6 +253,9 @@ public class TkSceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageM
251 253 ObjectNode doContext = JacksonUtil.newObjectNode();
252 254 doContext.put("method", "methodThingskit");
253 255 doContext.put("params", doActionDTO.getDoContext());
  256 + ObjectNode addtionalInfo = JacksonUtil.newObjectNode();
  257 + addtionalInfo.put(ModelConstants.TablePropertyMapping.COMMAND_TYPE, doActionDTO.getCommandType());
  258 + doContext.put(DataConstants.ADDITIONAL_INFO, addtionalInfo);
254 259 doActionDTO.setDoContext(doContext);
255 260 }
256 261 return doActionDTO.getEntity(TkDoActionEntity.class);
... ...