From dd610bc303ad0139c715a7d0936fbac47622a9ac Mon Sep 17 00:00:00 2001 From: George Date: Fri, 30 Jan 2026 22:13:57 +0800 Subject: [PATCH] =?UTF-8?q?20260130=EF=BC=9A=E8=AE=BE=E5=A4=87=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E5=B8=B8=E7=94=A8=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/handler/TCPMessageAdapter.java | 3 +- .../iot/domain/CommandPreferences.java | 7 ++++ .../mapper/iot/CommandPreferencesMapper.xml | 20 ++++++++- sql/add_field_extension_file.sql | 14 +++++++ .../views/iot/device/instruction-parsing.vue | 42 ++++++++++++++++--- 5 files changed, 78 insertions(+), 8 deletions(-) diff --git a/fastbee-server/iot-server-core/src/main/java/com/fastbee/server/handler/TCPMessageAdapter.java b/fastbee-server/iot-server-core/src/main/java/com/fastbee/server/handler/TCPMessageAdapter.java index 9a078417..afe6ecce 100644 --- a/fastbee-server/iot-server-core/src/main/java/com/fastbee/server/handler/TCPMessageAdapter.java +++ b/fastbee-server/iot-server-core/src/main/java/com/fastbee/server/handler/TCPMessageAdapter.java @@ -61,7 +61,8 @@ public class TCPMessageAdapter extends ChannelInboundHandlerAdapter { session.access(); // 快速响应匹配:串行发送场景,同一时刻只有一个等待请求 - if (session.hasPendingRequest() && session.response(buf.retainedDuplicate())) { + int messageId = buf.getUnsignedByte(1); + if (messageId == 0x06 && session.hasPendingRequest() && session.response(buf.retainedDuplicate())) { log.debug("=>设备响应匹配成功,设备:{}", session.getClientId()); buf.release(); // 释放原始 ByteBuf return; // 直接返回,不传递到后续处理器 diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/CommandPreferences.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/CommandPreferences.java index 0f05b946..28b435c5 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/CommandPreferences.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/CommandPreferences.java @@ -56,6 +56,13 @@ public class CommandPreferences { @ApiModelProperty("设备编号") private String serialNumber; + /** + * 产品ID(有值表示产品指令,为空时通过serialNumber判断为设备指令) + */ + @Excel(name = "产品ID") + @ApiModelProperty("产品ID") + private Long productId; + @Setter @TableField(exist = false) @ApiModelProperty("请求参数") diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/CommandPreferencesMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/CommandPreferencesMapper.xml index 84afae64..b1bcb5b4 100644 --- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/CommandPreferencesMapper.xml +++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/CommandPreferencesMapper.xml @@ -9,10 +9,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, name, command, serial_number from command_preferences + select id, name, command, serial_number, product_id from command_preferences